一、支持的能力
| 能力 | 支持情况 | 说明 |
| 支持的数据源 | Amazon S3、COS、FTP、SFTP、File System、HDFS | 文件类数据源在数据同步模式下可选择 CSV |
| 压缩支持 | none / deflate / gzip / bzip2 / lz4 / snappy | 任务级配置项,见支持的参数设置 |
| 离线同步(读 / 写) | ✓ / ✗ | 支持读取 CSV 文件作为离线同步任务的源端;DataBuddy 数据源仅支持接入读取,不支持写入 |
| 实时同步(读 / 写) | ✗ / ✗ | 不支持以 CSV 格式进行实时同步 |
二、支持的参数设置
以下为任务级参数,在数据同步模式下配置于任务的读取节点。
| 参数 | 说明 | 是否必填 | 默认值 |
| 文件类型 | 选择 CSV | 是 | TXT |
| 字段分隔符 | 将每行切分为列的分隔符;不支持 ${} | 是 | , |
| 行分隔符 | 切分行;最多配置 3 个;不填时按运行环境默认(Linux \\n,Windows \\r\\n);不支持 ${} | 否 | — |
| 编码 | utf8 / gbk | 是 | utf8 |
| 压缩格式 | none / deflate / gzip / bzip2 / lz4 / snappy;snappy 仅支持 hadoop-snappy 与 framing-snappy 两种 stream format | 是 | none |
| Quote character | 无配置 / 双引号 " / 单引号 ',将引号内内容作为完整值读取 | 否 | 无配置 |
| 跳过表头 | 是否跳过文件首行;勾选后可从首行表头自动生成字段名 | 是 | 否 |
| 空值转换 | 读取时将指定字符串转为 NULL;不支持 ${} | 否 | — |
注意:说明:
三、支持的类型转换
CSV 文件不携带类型信息,字段类型由用户在任务中声明,可声明类型如下:
| 可声明类型 | 说明 | 默认值 |
| STRING | 字符串,所有内容按原样读取 | 是(缺省即 STRING) |
| LONG | 长整型 | 否 |
| DOUBLE | 双精度浮点型 | 否 |
| BOOLEAN | 布尔型 | 否 |
| DATE | 日期时间型,必须填写日期格式,如 yyyy-MM-dd HH:mm:ss | 否 |
字段配置方式:
·字段名:由用户填写;勾选「跳过表头」时可从首行表头自动生成。
·列序号:从 0 开始,与文件中的列位置一一对应。
·映射结果进入字段映射组件,支持手工调整目标字段与类型。
注意:说明:
注意:声明的类型与实际内容不匹配时,解析失败的记录会进入脏数据处理链路。建议在正式调度前通过调试运行校验类型声明。
四、Q:CSV 与 TXT 有什么差异?
A:两者均为按分隔符切分的文本格式,参数项一致;CSV 以逗号为默认分隔符,并支持通过 Quote character 将含分隔符的内容作为完整值读取,常用于标准 CSV 文件。
五、Q:字段值中包含分隔符(如地址中的逗号)被错误切分?
A:建议源端使用引号包裹该字段,并在任务中配置对应的 Quote character(双引号 " 或单引号 ')。
六、Q:CSV 文件读取后所有字段都是字符串,如何得到数值或日期类型?
A:CSV 不携带类型信息,需要在字段配置中显式声明类型(STRING / LONG / DOUBLE / BOOLEAN / DATE)。未声明时缺省为 STRING。
七、Q:声明为 DATE 但解析失败?
A:DATE 类型必须填写日期格式(如 yyyy-MM-dd HH:mm:ss),且需与文件中的实际写法一致。格式不匹配的记录会进入脏数据处理链路。
八、Q:字段分隔符、行分隔符可以填 ${} 吗?
A:不可以。两者均不支持 ${},因为 ${a} 会被识别为调度参数。
九、Q:行分隔符不填会怎样?
A:按运行环境的默认换行符处理:Linux 为 \\n,Windows 为 \\r\\n。
十、Q:列序号从几开始计数?
A:从 0 开始,与文件中的列位置一一对应。
十一、Q:压缩格式应该怎么选?
A:需与文件实际的外层压缩方式保持一致;选择 snappy 时,仅支持 hadoop-snappy 与 framing-snappy 两种 stream format。
十二、Q:勾选「跳过表头」后还需要填写字段名吗?
A:不需要。勾选后系统会从文件首行表头自动生成字段名,仍可手工修改。
十三、相关文档
·支持的数据源与读取能力
·添加数据源连接
·创建单表同步任务
·离线同步任务运维监控
其他文件格式说明:TXT、JSON、Parquet、ORC。