📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

从 Amazon S3 将数据导入到 TiDB Cloud Premium



本文介绍如何将 Amazon Simple Storage Service (Amazon S3) 中的 CSV 文件导入到 TiDB Cloud Premium 实例。

限制

  • 为确保数据一致性,TiDB Cloud Premium 仅允许将 CSV 文件导入到空表中。如果目标表已包含数据,请先导入到临时表,然后使用 INSERT ... SELECT 语句复制行。
  • 在公开预览期间,用户界面当前仅支持 Amazon S3 作为存储提供方。对其他提供方的支持将在后续版本中添加。
  • 每个导入任务仅将单个源模式映射到一个目标表。

步骤 1:准备 CSV 文件

  1. 如果某个 CSV 文件大于 256 MiB,建议将其拆分为约 256 MiB 的较小文件,以便 TiDB Cloud Premium 能够并行处理它们。
  2. 按照 Dumpling 命名约定为 CSV 文件命名:
    • 整表文件:使用 ${db_name}.${table_name}.csv 格式。
    • 分片文件:追加数字后缀,例如 ${db_name}.${table_name}.000001.csv
    • 压缩文件:使用 ${db_name}.${table_name}.${suffix}.csv.${compress} 格式。
  3. 可选的 schema 文件(${db_name}-schema-create.sql${db_name}.${table_name}-schema.sql)可帮助 TiDB Cloud Premium 自动创建数据库和表。

步骤 2:创建目标 schema(可选)

如果你希望 TiDB Cloud Premium 自动创建数据库和表,请将 Dumpling 生成的 schema 文件放在同一个 S3 目录中。否则,请在运行导入之前,先在 TiDB Cloud Premium 中手动创建数据库和表。

步骤 3:配置对 Amazon S3 的访问

要允许 TiDB Cloud Premium 读取你的 bucket,请使用以下任一方法:

  • 提供一个信任 TiDB Cloud 的 AWS Role ARN,并在相关路径上授予 s3:GetObjects3:ListBucket 权限。
  • 提供具有等效权限的 AWS access key(access key ID 和 secret access key)。

向导中包含一个标记为 Click here to create a new one with AWS CloudFormation 的帮助链接。如果你需要 TiDB Cloud Premium 预填充一个为你创建该角色的 CloudFormation stack,请使用此链接。

步骤 4:从 Amazon S3 导入 CSV 文件

  1. TiDB Cloud 控制台中,进入 My TiDB 页面,然后点击你的 TiDB Cloud Premium 实例名称。

  2. 在左侧导航栏中,点击 Data > Import,然后选择 Import data from Cloud Storage

  3. Source Connection 对话框中:

    • Storage Provider 设置为 Amazon S3
    • 输入单个文件的 Source Files URIs3://bucket/path/file.csv)或文件夹的 URI(s3://bucket/path/)。
    • 选择 AWS Role ARNAWS Access Key 并提供凭证。
    • 点击 Test Bucket Access 以验证连接性。 <!--Todo-- Known preview issue: the button returns to the idle state without a success toast.-->
  4. 点击 Next,并为导入任务提供 TiDB SQL 用户名和密码。你也可以选择测试连接。

  5. 检查自动生成的源到目标映射。如果你需要定义自定义模式和目标表,请禁用自动映射。

  6. 点击 Next 运行预检查。解决有关缺失文件或 schema 不兼容的任何警告。

  7. 点击 Start Import 以启动任务组。

  8. 监控任务状态,直到其显示为 Completed,然后在 TiDB Cloud 中验证已导入的数据。

故障排查

  • 如果预检查报告零个文件,请检查 S3 路径和 IAM 权限。
  • 如果任务一直停留在 Preparing,请确保目标表为空,并且所需的 schema 文件存在。
  • 如果你需要调整映射或凭证,请使用 Cancel 操作停止任务组。

后续步骤

文档内容是否有帮助?