TxtFile Writer#

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

配置样例#

{
  "job": {
    "setting": {
      "speed": {
        "channel": 2,
        "bytes": -1
      }
    },
    "content": [
      {
        "reader": {
          "name": "txtfilereader",
          "parameter": {
            "path": [
              "/tmp/data"
            ],
            "encoding": "UTF-8",
            "column": [
              {
                "index": 0,
                "type": "long"
              },
              {
                "index": 1,
                "type": "boolean"
              },
              {
                "index": 2,
                "type": "double"
              },
              {
                "index": 3,
                "type": "string"
              },
              {
                "index": 4,
                "type": "date",
                "format": "yyyy.MM.dd"
              }
            ],
            "fieldDelimiter": ","
          }
        },
        "writer": {
          "name": "txtfilewriter",
          "parameter": {
            "path": "/tmp/result",
            "fileName": "luohw",
            "writeMode": "truncate",
            "dateFormat": "yyyy-MM-dd"
          }
        }
      }
    ]
  }
}

参数说明#

配置项 是否必须 默认值 描述
path 本地文件系统的路径信息,写入Path目录下属多个文件
fileName 写入的文件名,该文件名会添加随机的后缀作为每个线程写入实际文件名
writeMode FtpWriter写入前数据清理处理模式,支持 truncate, append, nonConflict ,详见下文
column 默认String类型 读取字段列表,type指定源数据的类型,详见下文
fieldDelimiter , 描述:读取的字段分隔符
compress 文本压缩类型,默认不压缩,支持压缩类型为 zip、lzo、lzop、tgz、bzip2
encoding utf-8 读取文件的编码配置
nullFormat \N 定义哪些字符串可以表示为null
dateFormat 日期类型的数据序列化到文件中时的格式,例如 "dateFormat": "yyyy-MM-dd"
fileFormat text 文件写出的格式,包括csv, text两种, 详见下文
header text写出时的表头,示例 ['id', 'name', 'age']

writeMode#

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

  • truncate,写入前清理目录下一fileName前缀的所有文件。

  • append,写入前不做任何处理,直接使用filename写入,并保证文件名不冲突。

  • nonConflict,如果目录下有fileName前缀的文件,直接报错。

fileFormat#

文件写出的格式,包括 csv 和 text 两种,csv是严格的csv格式,如果待写数据包括列分隔符,则会按照csv的转义语法转义,转义符号为双引号 "; text格式是用列分隔符简单分割待写数据,对于待写数据包括列分隔符情况下不做转义。

类型转换#

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