帮你快速理解、总结文档立即下载

文件到 Volume 同步

最近更新时间:2026-09-11 20:57:30
本文档已由 AI 辅助审校
我的收藏

概述

文件到 Volume 同步将半结构化文件(FTP / SFTP / COS / S3 / Azure Blob / HDFS 等)写入 DataBuddy Volume,支持两种用法:
原始文件传输 :保留文件原始格式,直接落入 Volume,常用于归档与备份。
解析后转换格式 :读取源文件并按目标文件类型重新输出,常用于格式转换(如 TXT 转 JSON)。
本文介绍该链路的特有配置,通用步骤参见 创建单表同步任务

适用场景

文件归档:将业务伙伴上传到 SFTP 的原始文件按日期落入 Volume。
格式转换:将上游 TXT 文件读出后以 JSON 格式重新落到 Volume,方便下游消费。
多文件合并:将多个源路径下的文件读取后按统一格式集中输出。

前提条件

在开始本操作前,请确保满足以下条件:
已开通 DataBuddy 服务并完成空间初始化。
当前账号在目标 Workspace 中拥有 数据接入相关角色 (详见 成员与权限管理)。
已创建用于数据接入的计算资源(数据接入型)。
已创建并测试通过来源端数据源连接(详见 添加数据源连接)。
目标 Catalog 下已存在 Volume 类型 Schema,或当前账号有创建权限。

使用限制

限制项
说明
来源端类型
半结构化数据源(FTP / SFTP / COS / S3 / Azure Blob / HDFS 等)
目标端类型
DataBuddy Catalog 下的 Volume 类型 Catalog
读取方式
原始文件 (原样落 Volume)/ 解析数据 (解析后按目标文件类型重新输出)
字段映射
原始文件模式:来源端 / 目标端均不可设置;解析模式:来源端可设置(手动添加字段),目标端不可设置
输出文件类型
仅 txt / csv / dat / json

操作步骤

步骤 1:进入任务创建页、填写基础信息

步骤 2:配置来源端

参数
说明
是否必填
数据源类型
选择来源数据源类型(如 SFTP)
数据源连接
选择已注册的数据源连接
文件路径
文件或文件夹路径,点击文件夹图标可弹出路径选择器;支持插入参数与正则;S3 需带桶名;Azure Blob 需带容器名
读取方式
原始文件解析数据 (决定是否走解析)
文件格式
数据同步模式必填:.csv / .avro / .json / .parquet / .txt
视模式
解析配置
数据同步模式必填,按文件类型配置
视模式
同步范围(仅 S3)
全量 / 增量
视场景
高级设置
数据源专属扩展参数
具体来源端字段差异请参考 文件到表同步,本链路与文件到表的来源端配置完全一致。

步骤 3:配置目标端

当目标端选择为 Volume 类型 Catalog 时:
参数
说明
是否必填
目标 Catalog
选择有权限的 Volume 类型 Catalog;不存在时可点击「新建」创建
目标 Schema
Catalog 下的 Schema
Volume
选择已存在的 Volume
Volume 文件目录
Volume 内子路径;为空表示落到 Volume 根目录
否(默认根目录)
文件名称
输出文件名(仅数据同步模式必填)
视模式
文件格式
数据同步模式必填:txt / csv / dat / json
视模式
格式设置
数据同步模式必填,按目标类型配置
视模式
写入模式
overwrite / append / upsert

数据同步模式下的输出格式配置

文件类型
配置项
TXT / CSV / DAT
压缩格式、列分隔符、行分隔符、编码、控制转换、Quote Character、包含表头
JSON
压缩格式、编码、空值转换、包含表头

标记文件支持

文件类型
.ok 文件
.ctl 文件
txt
csv
dat
json

步骤 4:字段映射

模式
来源端字段映射
目标端字段映射
文件同步(原始)
❌ 不可设置
❌ 不可设置
数据同步(解析)
✅ 可设置(手动添加字段)
❌ 不可设置

步骤 5:运行设置、调试、保存、发布

验证结果

任务保存并调试运行后,您可以通过以下方式确认:
1. 进入 数据目录 中目标 Volume,看到已写入的文件。
2. 文件同步模式下文件名与原文件一致;数据同步模式下文件名按目标端配置。
3. 下载或预览文件确认内容;如有 .ok 文件,确认内容标记符合下游约定。

常见问题

Q:选错了读取方式,能改吗?

A:可以。在任务编辑页将「读取方式」从「原始文件」切到「解析数据」,并补充必填配置项后保存即可。注意:切换会重置已有的解析配置与字段映射。

Q:读取方式选择「原始文件」时,多个源文件会合并为一个文件吗?

A:不会。文件同步模式下源文件按原结构 1:1 落入 Volume(保留原文件名),不做合并。

Q:数据同步模式下输出文件名相同会被覆盖吗?

A:取决于写入模式:
overwrite :覆盖同名文件。
append :在同名文件后追加内容。
upsert :行为与 overwrite 类似(Volume 不感知主键)。

Q:源端选择了不同路径下的同名文件,将会如何?

A:将会报错,逻辑上在读取时,会将所有文件提到一个 list,如果有重名文件,会报错。

Q:能否在同一个任务中既保留原始文件又生成解析后文件?

A:不支持。一个任务只能选择一种同步模式。如需同时归档与转换,建议创建两个任务并通过 Workflow 编排。

相关文档