閱讀967 返回首頁    go 魔獸


TxtFileWriter__Writer插件_使用手冊_數據集成-阿裏雲

1 快速介紹

TxtFileWriter提供了向本地文件寫入類CSV格式的一個或者多個表文件。TxtFileWriter服務的用戶主要在於DataX開發、測試同學。寫入本地文件內容存放的是一張邏輯意義上的二維表,例如CSV格式的文本信息。

該通道目前隻在ECS Pipeline下支持

2 功能與限製

TxtFileWriter實現了從DataX協議轉為本地TXT文件功能,本地文件本身是無結構化數據存儲,TxtFileWriter如下幾個方麵約定:

  1. 支持且僅支持寫入 TXT的文件,且要求TXT中shema為一張二維表。
  2. 支持類CSV格式文件,自定義分隔符。
  3. 支持文本壓縮,現有壓縮格式為gzip、bzip2。
  4. 支持多線程寫入,每個線程寫入不同子文件。
  5. 文件支持滾動,當文件大於某個size值或者行數值,文件需要切換。 [暫不支持]

我們不能做到:

  1. 單個文件不能支持並發寫入。

3 功能說明

3.1 配置樣例
{
  "type": "job",
  "traceId": "您可以在這裏填寫您作業的追蹤ID,建議使用業務名+您的作業ID",
  "version": "1.0",
  "configuration": {
    "reader": {
    },
    "writer": {
      "plugin": "txtfile",
      "parameter": {
        "path": "/home/haiwei.luo/case00/result",
        "fileName": "luohw",
        "writeMode": "truncate",
        "dateFormat": "yyyy-MM-dd"
      }
    }
  }
}
3.2 參數說明
  • path
    • 描述:本地文件係統的路徑信息,TxtFileWriter會寫入Path目錄下屬多個文件。
    • 必選:是
    • 默認值:無
  • fileName
    • 描述:TxtFileWriter寫入的文件名,該文件名會添加隨機的後綴作為每個線程寫入實際文件名。
    • 必選:是
    • 默認值:無
  • writeMode

    • 描述:TxtFileWriter寫入前數據清理處理模式:

      truncate,寫入前清理目錄下一fileName前綴的所有文件。
      append,寫入前不做任何處理,DataX TxtFileWriter直接使用filename寫入,並保證文件名不衝突。
      nonConflict,如果目錄下有fileName前綴的文件,直接報錯。
      
    • 必選:是

    • 默認值:無

  • fieldDelimiter
    • 描述:讀取的字段分隔符
    • 必選:否
    • 默認值:,
  • compress
    • 描述:文本壓縮類型,默認不填寫意味著沒有壓縮。支持壓縮類型為zip、lzo、lzop、tgz、bzip2。
    • 必選:否
    • 默認值:無壓縮
  • encoding
    • 描述:讀取文件的編碼配置。
    • 必選:否
    • 默認值:utf-8
  • nullFormat
    • 描述:文本文件中無法使用標準字符串定義null(空指針),DataX提供nullFormat定義哪些字符串可以表示為null。例如如果用戶配置: nullFormat="N",那麼如果源頭數據是"N",DataX視作null字段。
    • 必選:否
    • 默認值:N
  • dateFormat
    • 描述:日期類型的數據序列化到文件中時的格式,例如 "dateFormat": "yyyy-MM-dd"。
    • 必選:否
    • 默認值:無
  • fileFormat
    • 描述:文件寫出的格式,包括csv (https://zh.wikipedia.org/wiki/%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E5%80%BC) 和text兩種,csv是嚴格的csv格式,如果待寫數據包括列分隔符,則會按照csv的轉義語法轉義,轉義符號為雙引號";text格式是用列分隔符簡單分割待寫數據,對於待寫數據包括列分隔符情況下不做轉義。
    • 必選:否
    • 默認值:text
  • header
    • 描述:txt寫出時的表頭,示例['id', 'name', 'age']。
    • 必選:否
    • 默認值:無
3.3 類型轉換

本地文件本身不提供數據類型,該類型是DataX TxtFileWriter定義:

DataX 內部類型 本地文件 數據類型
Long Long
Double Double
String String
Boolean Boolean
Date Date

其中:

  • 本地文件 Long是指本地文件文本中使用整形的字符串表示形式,例如"19901219"。
  • 本地文件 Double是指本地文件文本中使用Double的字符串表示形式,例如"3.1415"。
  • 本地文件 Boolean是指本地文件文本中使用Boolean的字符串表示形式,例如"true"、"false"。不區分大小寫。
  • 本地文件 Date是指本地文件文本中使用Date的字符串表示形式,例如"2014-12-31",Date可以指定format格式。

最後更新:2016-11-23 16:03:59

  上一篇:go ADSWriter__Writer插件_使用手冊_數據集成-阿裏雲
  下一篇:go 數據交換原理__進階與深入_數據集成-阿裏雲