跳到主要内容

Amazon S3

Amazon S3 数据集成功能支持将 S3 存储桶中的文件导入 Databend。当前支持 CSV、Parquet 和 NDJSON 文件格式,并可选择一次性导入或持续导入模式,自动轮询新文件。

支持的文件格式

格式说明
CSV以逗号分隔的文本格式,支持自定义分隔符和表头
Parquet列式存储格式,适合分析型工作负载
NDJSON以换行分隔的 JSON 格式,每行一个 JSON 对象

创建 S3 数据源

  1. 前往 Data > Data Sources,点击 Create Data Source

  2. 将服务类型选择为 AWS - Credentials,然后填写凭据信息:

字段是否必填说明
Name当前数据源的描述性名称
Access KeyAWS Access Key ID
Secret KeyAWS Secret Access Key

创建 S3 数据源

  1. 点击 Test Connectivity 验证凭据;如果测试成功,点击 OK 保存数据源。
提示

AWS 凭据必须对目标 S3 存储桶具备读取权限。如果您计划启用 Clean Up Original Files 选项,还需要具备写入和删除权限。

创建 S3 集成任务

步骤 1:基本信息

  1. 前往 Data > Data Integration,点击 Create Task

  2. 选择一个 S3 数据源,然后配置基本参数:

字段是否必填说明
Data Source从下拉列表中选择已有的 AWS 数据源
Name当前集成任务名称
File PathS3 URI,可包含通配符(例如 s3://mybucket/data/2025-*.csv
File Type自动根据文件扩展名自动识别;当前支持 CSV、Parquet、NDJSON

创建 S3 任务 - 基本信息

CSV 选项

当文件类型为 CSV 时,可配置以下附加选项:

字段默认值说明
Record Delimiter\n行分隔符,可选 \n\r\r\n
Field Delimiter,列分隔符,支持自定义
Has Header首行是否包含列名;关闭后,列会自动命名为 c1c2c3

文件路径模式

File Path 支持使用通配符匹配多个文件:

s3://mybucket/data/2025-*.csv        # 匹配所有以 "2025-" 开头的 CSV 文件
s3://mybucket/logs/*.parquet # 匹配日志目录下所有 Parquet 文件
s3://mybucket/events/data.ndjson # 匹配单个指定文件

步骤 2:预览数据

完成基本设置后,点击 Next 预览源数据。

S3 预览数据

系统会读取第一个匹配到的文件,并显示:

  • 包含列名和数据类型的示例数据
  • 匹配到的文件列表(最多 25 个)及其大小
备注

预览阶段会跳过大于 10GB 的文件,且最多只显示前 25 个匹配文件。

步骤 3:设置目标表

配置 Databend 中的目标位置:

字段说明
Warehouse选择用于运行导入任务的 Databend Cloud Warehouse
Target Database选择 Databend 中的目标数据库
Target TableDatabend 中的目标表名

S3 设置目标表

系统会自动从源文件中识别列。继续之前,您可以检查并编辑列名和数据类型。

导入选项

选项默认值说明
Continuous Ingestion开启启用后,系统会周期性(每 30 秒)轮询 S3 路径并导入新文件
Error HandlingAbortAbort:遇到首个错误即停止;Continue:跳过出错行并继续导入
Clean Up Original Files关闭启用后,成功导入后会从 S3 删除源文件
Allow Duplicate Imports关闭启用后,允许重新导入已导入过的文件
提示

如果 S3 路径下会持续产生新文件,并希望它们自动导入 Databend,请启用 Continuous Ingestion。如果只是一次性导入,请关闭该选项。

点击 Create 完成集成任务创建。

任务行为

Continuous Ingestion行为
On持续运行,每 30 秒轮询一次 S3 以检查新文件,并自动导入。
Off仅对匹配文件执行一次导入后即停止。除非启用 Allow Duplicate Imports,否则已导入的文件会被跳过。

高级配置

Continuous Ingestion

启用后,任务会以长期运行进程的形式定期扫描 S3 路径中的新文件。每个周期会执行:

  1. 列出匹配文件路径模式的对象
  2. 识别尚未导入的新文件
  3. 使用 COPY INTO 将新文件导入目标表
  4. 在任务历史中记录导入结果

这适用于上游系统持续向 S3 写入新文件的数据管道场景。

Error Handling

  • Abort(默认):导入在遇到第一个错误时立即停止。适用于对数据质量要求严格、希望先排查问题再继续的场景。
  • Continue:跳过导致错误的行,并继续导入其余数据。适用于允许部分导入、希望尽可能提高吞吐的场景。

Clean Up Original Files (PURGE)

启用后,源文件在成功导入 Databend 后会从 S3 中删除。这有助于控制存储成本并避免重复处理。请确保您的 AWS 凭据在目标存储桶上具备 s3:DeleteObject 权限。

Allow Duplicate Imports (FORCE)

默认情况下,系统会跟踪哪些文件已经导入,并在后续运行中跳过它们。启用该选项后,无论文件之前是否已导入,系统都会重新导入所有匹配文件。这适用于表结构变更或数据修正后需要重新加载数据的场景。

欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验