一、支持的能力
| 能力 | 支持情况 | 说明 |
| 支持的数据源 | Amazon S3、COS、FTP、SFTP、File System、HDFS | 文件类数据源在数据同步模式下可选择 Text |
| 压缩支持 | none / deflate / gzip / bzip2 / lz4 / snappy | 任务级配置项,详见 支持的参数设置 |
| 离线同步(读 / 写) | ✓ / – | 支持读取 Text 文件作为离线同步任务的源端;DataBuddy 数据源仅支持接入读取,不支持写入 |
| 实时同步(读 / 写) | – / – | 不支持以 TXT 格式进行实时同步 |
二、支持的参数设置
以下为任务级参数,在数据同步模式下配置于任务的读取节点。
| 参数 | 说明 | 是否必填 | 默认值 |
| 文件类型 | 选择 Text | 是 | Text |
| 字段分隔符 | 将每行切分为列的分隔符;不支持 ${} | 是 | , |
| 行分隔符 | 切分行;最多配置 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;不支持 ${} | 否 | — |
注意:说明:
注意:字段分隔符与行分隔符不支持 ${},因为 ${a} 会被识别为调度参数。
三、支持的类型转换
TXT 文件不携带类型信息,字段类型由用户在任务中声明,可声明类型如下:
| 可声明类型 | 说明 | 默认值 |
| STRING | 字符串,所有内容按原样读取 | 是(缺省即 STRING) |
| LONG | 长整型 | 否 |
| DOUBLE | 双精度浮点型 | 否 |
| BOOLEAN | 布尔型 | 否 |
| DATE | 日期时间型,必须填写日期格式,如 yyyy-MM-dd HH:mm:ss | 否 |
字段配置方式:
·字段名:由用户填写;勾选「跳过表头」时可从首行表头自动生成。
·列序号:从 0 开始,与文件中的列位置一一对应。
·映射结果进入字段映射组件,支持手工调整目标字段与类型。
注意:说明:
注意:声明的类型与实际内容不匹配时,解析失败的记录会进入脏数据处理链路。建议在正式调度前通过调试运行校验类型声明。
四、Q:TXT 文件读取后所有字段都是字符串,如何得到数值或日期类型?
A:TXT 不携带类型信息,需要在字段配置中显式声明类型(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:不需要。勾选后系统会从文件首行表头自动生成字段名,仍可手工修改。
十一、相关文档
·支持的数据源与读取能力
·添加数据源连接
·创建单表同步任务
·离线同步任务运维监控
其他文件格式说明:CSV、JSON、Parquet、ORC。