上传数据

启用上传后,您可以将CSV格式的文件上传到Metabase中的集合。

Upload CSV data to a collection in Metabase

上传CSV数据最适合对电子表格数据进行临时分析。如果您有很多数据,或者需要定期更新或添加数据,我们建议设置一种将数据直接加载到数据库中的方式,然后连接Metabase到该数据库。

管理上传设置

要管理上传设置,管理员可以按cmd/ctrl + K并搜索“设置 - 上传”,或者点击右上角的齿轮图标,然后点击“管理设置”>“设置”>“上传”。

支持上传的数据库

设置上传

管理员需要做一些事情来支持CSV上传

使用具有写入权限的数据库用户账户连接到数据库

为了上传数据到 Metabase,管理员需要使用具有对数据库的写入权限的数据库用户账户将你的 Metabase 连接到支持上传的数据库。

你也可以将数据上传到 Metabase 内置的示例数据库(一个 H2 数据库),尽管我们不推荐将示例数据库用于任何你想保留的数据。

更多信息,请查看

选择你想要存储数据的数据库和模式

如果 Metabase 使用具有写入权限的数据库用户账户连接到数据库,管理员可以通过以下方式启用上传:

  • 点击首页右上角的 齿轮 图标,导航到 管理设置 > 设置 > 上传
  • 选择 Metabase 应该用于存储数据的数据库。

当人们向集合上传 CSV 时,Metabase 将

  • 在管理员选择的用于存储上传的数据库和模式中创建一个表来存储数据。
  • 创建一个模型来封装上传的表,并将该模型保存到上传 CSV 数据的人员所在的集合中。

指定 Metabase 应用于上传表的前缀

管理员可以可选地指定一个字符串,用于在 Metabase 创建以存储上传数据的表之前添加。

将人员添加到具有访问上传模式的数据的组

为了上传 CSV,一个人必须位于一个具有“可以查看”的 查看数据 访问权限和到所选存储上传数据的模式的 创建查询 访问权限或更高的查询构建器的组中。请参阅 数据权限

主键自动生成

当你上传 CSV 时,Metabase 将创建一个唯一的称为 _mb_row_id 的主键列,作为上传 CSV 表的第一个(最左侧)列。这个 _mb_row_id 列将包含自动生成的整数。Metabase 还会忽略任何名称与自动生成的主键列相同的上传中的列(例如,CSV 中的 _MB row-ID 将在数据库中变为 _mb_row_id_MB_ROW_ID)。

如果你不希望有这个自动生成的 ID 列,你总是可以从 Metabase 创建的模型中删除该列。访问模型,点击信息 i 图标,然后点击 模型详情。在模型详情页面,点击 编辑定义 按钮。在查询构建器的数据部分,点击表格旁边的向下箭头,取消选中添加的 ID 列,并保存你的更改。

数据类型错误

Metabase会尝试猜测每列的数据类型,但如果某些条目与其他条目不同,Metabase可能无法正确猜测类型。例如,如果您有一个以整数开始的列,如100、130、140,然后后来是一个浮点数105.5,Metabase可能会拒绝上传。为了解决这个问题,您需要使用电子表格软件调整格式,以确保所有整数都格式化为浮点数(例如,100.00、130.00、140.00等),然后再上传。

文件大小限制

CSV文件的大小不能超过50 MB。

尽管Metabase限制上传大小为50 MB,但您运行Metabase的服务器可能强制实施更低的限制。例如,NGINX的默认客户端上传限制为1 MB(有关NGINX的更多信息,请参阅此处)。因此,您可能需要更改服务器设置,以允许上传高达50 MB。在Metabase Cloud上的人不必担心这个问题。

如果您有一个大于50 MB的文件,这里的解决方案是将数据分成多个部分,并将这些文件附加到现有模型中。

日期格式

目前,Metabase仅识别从上传的CSV文件中的字符串识别以下格式的日期和日期时间:

日期

表示没有时间信息的年、月和日。

格式: yyyy-MM-dd

示例: 2023-01-01

日期时间

表示年、月、日、小时,分钟、秒和分数秒是可选的。

格式: yyyy-MM-ddTHH:mm:ss.SSS。“T”分隔符也可以是空格(“ “)。

示例:

  • 2023-01-01 00
  • 2023-01-01 00:00:00.000
  • 2023-01-01T00:00:00.000
  • 2023-01-01 00:00:00.0000000

带有偏移量的日期时间

表示相对于协调世界时(UTC)的日期时间。偏移量中的分钟和秒是可选的。

格式:

日期时间格式

  • yyyy-MM-ddTHH:mm.
  • yyyy-MM-ddTHH:mm:ss.
  • yyyy-MM-ddTHH:mm:ss.SSS(和任意数量的S)。

“T”分隔符也可以是空格(“ “)。

偏移量

  • Z(UTC)
  • +HH-HH
  • +HH:mm-HH:mm
  • +HH:mm:ss-HH:mm:ss

示例:

  • 2023-01-01 00:00:00+00:00:00
  • 2023-01-01T00:00:00+00:00:00

删除上传创建的模型和表

删除上传创建的模型

删除上传的表仅适用于专业版企业版计划(包括自托管和Metabase Cloud)。

您可以通过单击右上角的三个点并选择移动到回收站来将模型移动到回收站。

有关完全删除模型的说明,请参阅永久删除项目

删除上传创建的表

删除上传的表仅适用于专业版企业版计划(包括自托管和Metabase Cloud)。

要删除由上传创建的表,请转到管理设置 > 设置 > 上传

管理上传下,Metabase将列出模型下的表。

当您删除表时,Metabase将提供选项,让您选择是否要也将基于此表的所有模型和问题移动到回收站

有关将数据上传到MySQL数据库的说明

为了加快上传到MySQL数据库,我们建议您将local_infile设置为ON。您需要在MySQL中设置此local_infile,而不是在Metabase中。命令行格式是--local-infile=ON

如果local_infile被禁用(设置为OFF),Metabase将自动回退到以较慢的方式上传CSV文件。

了解更多信息,请查看

阅读其他Metabase版本的文档。

想要改进这些文档? 提出更改。