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

Text 格式

最近更新时间:2026-09-28 11:00:01
我的收藏

概述

TXT 为纯文本文件格式,按分隔符切分为列,是最通用的结构化交换格式。Text 文件不带 schema 自描述信息,读取时需要由用户声明字段名、列序号与字段类型。本文介绍 TXT 格式在 DataBuddy 数据接入中的支持能力、参数设置与类型转换规则。

支持的能力

能力
支持情况
说明
支持的数据源
文件类数据源在数据同步模式下可选择 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。