设置数据上传

本页介绍管理员如何设置数据上传,以便人们可以将 CSV 上传到您的 Metabase。有关设置完成后如何上传数据的信息,请查看上传数据

Upload CSV data to a collection in Metabase

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

管理上传设置

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

支持上传的数据库

设置上传

管理员需要做几件事来支持 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。因此,您可能需要更改服务器设置以允许上传高达 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

删除上传创建的模型和表

删除上传创建的模型

删除上传的表仅在 ProEnterprise 计划(自托管和 Metabase Cloud 上)中可用。

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

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

删除上传创建的表

删除上传的表仅在 ProEnterprise 计划(自托管和 Metabase Cloud 上)中可用。

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

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

当您删除表时,Metabase 将为您提供选项同时将基于此表的所有模型和问题发送到回收站

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

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

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

有关更多上下文,请查看

阅读其他版本的 Metabase的文档。