DataSail 中 TOS 数据源为您提供读取和写入 TOS 数据的双向通道能力,实现不同数据源与 TOS 进行数据传输。本文介绍在 DataSail 中创建 TOS 离线读取、离线写入和实时写入任务的方法。
TOS 数据源测试连通性成功后,进入数据开发界面,开始新建 TOS 相关通道任务。新建任务方式详见离线数据同步、流式数据同步。
任务创建成功后,即可根据实际场景,配置 TOS 离线读、TOS 离线写或 TOS 流式写等通道任务。
数据来源选择 TOS,并完成以下相关参数配置。其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
|---|---|
*数据源类型 | 下拉选择 TOS 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 TOS 数据源,下拉可选。 |
*文件路径 | 填写需要采集的 TOS 数据文件所在路径,可在 TOS 中查看。 说明
|
*数据类型 | 支持选择 json、pb、parquet、csv、txt 等几种数据类型:
|

数据目标端选择 TOS,并完成以下相关参数配置。其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
|---|---|
*目标类型 | 下拉选择 TOS 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 TOS 数据源,下拉可选。 |
*文件路径 | 填写需要写入的 TOS 数据文件所在路径,支持填写日期变量形式,如 ${date},具体路径可在 TOS 中查看。 |
*文件名前缀 | 输入 TOS 目标文件名的前缀信息,如填写 tos_writer,则生成的文件名会以 tos_writer 开头。
|
*文件名称冲突 | 依据实际业务场景,下拉选择数据写入时,针对文件名称冲突状况下的任务处理形式,仅支持以下处理方式:
|
*文本类型 | 支持选择 json、parquet、csv、orc 等几种数据类型:
|
*压缩格式 | 选择写入 TOS 中数据文件的压缩格式,支持选择 None、Snappy、Lz4、Gzip、Zstd 等压缩格式。 |
可视化离线 TOS任务的数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式和转换模式配置映射:
注意
基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。
转换模式:
字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先通过数据转换后,以指定格式输入到目标端数据库中。
转换模式详细操作说明详见4.1 转换模式
在转换模式中,你可依次配置:来源节点、数据转换、目标节点信息:
配置节点 | 说明 |
|---|---|
来源节点 | 配置数据来源 Source 节点信息:
配置完成后,单击确认按钮,完成来源节点配置。 |
数据转换 | 单击数据转换右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则:
配置完成后,单击确认按钮,完成数据转换节点配置。SQL 脚本示例详见4.1.2 添加转换节点。 |
目标节点 | 配置目标节点 Sink 信息:
配置完成后,单击确认按钮,完成目标节点配置。 |
基础模式:
基础模式您可通过以下四种方式操作字段映射关系:
注意

流式集成任务实时写入 TOS 数据源,数据目标类型选择 TOS,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
|---|---|
*目标类型 | 下拉选择 TOS 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 TOS 数据源,下拉可选。 |
*TOS 保存地址 | 填写需要写入数据的 TOS 存储路径信息。 说明 文件路径填写说明:
|
job.reader. 前缀,写参数需加上 job.writer. 前缀。reader.parameter 下,写参数请配置到 writer.parameter 下,直接输入参数名称和参数值。TOS 数据源常用的离线读高级参数整理如下:
参数名 | 描述 | 默认值 |
|---|---|---|
job.reader.enable_success_file_check | 若任务中需要检查前置 Success 文件是否就绪,可添加该高级参数。设置为 true 时,表示开启 Success 文件检查,当检查的文件存在时,任务才会执行成功。默认 false,不检查。 | false |
job.reader.success_file_path | 设置检查的 Success 文件全路径信息。 | 无 |
job.reader.success_file_check_interval_ms | 设置检查 Success 文件时间间隔,单位毫秒。 | 60000 |
job.reader.success_file_check_times | 设置 Success 文件检查次数。 | 60 |
job.reader.csv_delimiter_ascii | 当 TOS 文件中的分隔符是不可见的 ASCII 字符时,可使用该高级参数,并将其设置为对应字符的 ASCII 码,如 | 无 |
job.reader.compress_codec | TOS 读取压缩文件时需要配置该参数,可选值为 zip。 | 无 |
job.reader.s3a_endpoint | 覆盖默认的 TOS Endpoint,用于连接其他 S3 兼容对象存储。 | 无 |
job.reader.s3a_path_style_access | 是否使用 Path-Style 访问模式(适用于部分自建 MinIO)。 | false |
TOS 数据源常用的离线写高级参数整理如下:
参数名 | 描述 | 默认值 |
|---|---|---|
job.writer.s3a_endpoint | 覆盖默认的 TOS Endpoint,用于连接其他 S3 兼容对象存储。 | 无 |
job.writer.s3a_path_style_access | 是否使用 Path-Style 访问模式。 | false |
job.writer.rolling.inactivity_interval | 设置持续无写入时的文件滚动间隔,单位为毫秒。 | 无 |
job.writer.rolling.max_part_size | 设置单个 part 的最大大小,单位为字节。 | 无 |
场景 | 推荐格式 | 压缩格式 | 原因 |
|---|---|---|---|
结构化大数据量(>1GB) | Parquet | Snappy | 列式存储,读取效率高,压缩比好。 |
数据交换/人可读 | CSV | Gzip | 通用格式,兼容性最好。 |
嵌套/半结构化数据 | JSON | Gzip | 支持嵌套结构。 |
日志类数据写入 | JSON / CSV | Lz4 | 写入快,Lz4 压缩速度最快。 |
存档/冷数据 | Parquet / ORC | Zstd | 最高压缩比。 |
优化项 | 建议 |
|---|---|
文件拆分 | 单个文件建议不超过 1GB,拆分为多个小文件可提升并发效率。 |
并发数 | 文件数量决定最大并发度,单文件不支持多线程,多文件场景可适当提高并发数。 |
压缩选择 | 读取时 Snappy/Lz4 解压最快;写入时 Gzip 压缩比最优。 |
Success 文件 | 上游 ETL 产出数据后放置 Success 标记文件,DataSail 侧开启 |
TOS 为文件存储系统,不支持行级增量。推荐的增量方案:
方式一:基于日期分区目录
# 文件路径使用日期变量 data/orders/${date}/ # 每天只读取当天目录下的新文件
方式二:Success 文件检查 + 目录约定
# 高级参数配置 job.reader.enable_success_file_check = true job.reader.success_file_path = data/orders/${date}/_SUCCESS
Q1:TOS 读取时报"Access Denied"怎么办?
A:请按以下顺序排查:
tos:GetObject 和 tos:ListBucket 权限。Q2:读取 CSV 文件时字段错位(数据串行)怎么办?
A:字段错位的常见原因:
\001),使用 job.reader.csv_delimiter_ascii=1 配置。Q3:连接 S3/OSS/COS 时连通性测试通过但任务运行失败?
A:这是因为连接串方式的连通性测试验证的是火山引擎 TOS 的连通性,不会验证自定义的 s3a_endpoint。解决方案:
job.reader.s3a_endpoint(或 job.writer.s3a_endpoint)配置正确。s3a_path_style_access=true。Q4:写入 TOS 后文件名很长且包含乱码怎么调整?
A:TOS Writer 的文件名由系统自动生成,格式为 {filePrefix}_{jobId}{subTaskId}{file_count}_{timestamp}.{format}.{compression}。建议:
文件名前缀(如 orders_daily)。Q5:如何从 TOS 读取 ZIP 压缩文件?
A:需要在高级参数中配置 job.reader.compress_codec=zip。
注意
Q6:跨云传输(如 TOS → S3)的数据量很大,如何优化传输效率?
A: