Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 4.2 KB

txtfilewriter.md

File metadata and controls

77 lines (56 loc) · 4.2 KB

TxtFile Writer

TxtFileWriter 提供了向本地文件写入类 CSV 格式的一个或者多个表文件。

配置样例

--8<-- "jobs/txtwriter.json"

参数说明

配置项 是否必须 类型 默认值 描述
path String 本地文件系统的路径信息,写入 Path 目录下属多个文件
fileName String 写入的文件名,该文件名会添加随机的后缀作为每个线程写入实际文件名
writeMode String FtpWriter 写入前数据清理处理模式,,详见下文
column List 读取字段列表,type 指定源数据的类型,详见下文
fieldDelimiter Char , 描述:读取的字段分隔符
compress String 文本压缩类型,默认不压缩,支持压缩类型为 ziplzolzoptgzbzip2
encoding String utf-8 读取文件的编码配置
nullFormat Char \N 定义哪些字符串可以表示为 null
dateFormat String 日期类型的数据序列化到文件中时的格式,例如 "dateFormat": "yyyy-MM-dd"
fileFormat String text 文件写出的格式,包括 csv, text, sql1 三种, 详见下文
table String sql 模式时需要指定表名,
column List sql 模式时可选指定列名,
extendedInsert Bool true sql 模式时是否使用批量插入语法,默认为真详见下文
batchSize Int 2048 sql 模式时批量插入语法的批次大小,详见下文
header List text 写出时的表头,示例 ['id', 'name', 'age']

writeMode

写入前数据清理处理模式:

  • truncate,写入前清理目录下一 fileName 前缀的所有文件。
  • append,写入前不做任何处理,直接使用 filename 写入,并保证文件名不冲突。
  • nonConflict,如果目录下有 fileName 前缀的文件,直接报错。

fileFormat

文件写出的格式,包括 csv 和 text 和 4.1.3 版本引入的 sql 三种,csv 是严格的 csv 格式,如果待写数据包括列分隔符,则会按照 csv 的转义语法转义,转义符号为双引号 "; text 格式是用列分隔符简单分割待写数据,对于待写数据包括列分隔符情况下不做转义。 sql 格式表示将数据以 SQL 语句 (INSERT INTO ... VALUES) 的方式写入到文件

table

仅在 sql 文件格式下需要,用来指定写入的表名

column

在 sql 文件格式下,可以指定写入的列名,如果指定,则 sql 语句类似 INSERT INTO table (col1, col2, col3) VALUES (val1, val2, val3),模式 否则为 INSERT INTO table VALUES (val1, val2, val3)。模式

extendedInsert

是否启用批量插入语法,如果启用,则会将 batchSize 个数据一次性写入到文件中,否则每个数据一行。该参数借鉴了 mysqldump 工具的 extended-insert 参数语法

batchSize

批量插入语法的批次大小,如果 extendedInsert 为 true,则每 batchSize 个数据一次性写入到文件中,否则每个数据一行。

类型转换

Addax 内部类型 本地文件 数据类型
Long Long
Double Double
String String
Boolean Boolean
Date Date

Footnotes

  1. sql 格式为 4.1.3 版本引入