記Datax3.0解決MySQL抽數到HDFSNULL變爲空字符的問題

一、背景

使用Datax3.0 地址: https://github.com/alibaba/DataX 在HDFS讀的時候開放了如下nullFormat選項:
 

nullFormat

  • 描述:文本文件中無法使用標準字符串定義null(空指針),DataX提供nullFormat定義哪些字符串可以表示爲null。

    例如如果用戶配置: nullFormat:"\N",那麼如果源頭數據是"\N",DataX視作null字段。

  • 必選:否

  • 默認值:無

但是在HDFS 寫的時候卻沒有開放出來,因此源碼中的寫法是對於MySQL空的處理直接丟了個null進去而不是HDFS的||N

二、原因

原Datax3.0未在HDFSWriter中開放nullFormat配置項,因此需要修改部分源代碼來提供。

 

三、結論

以上已orc文件寫入爲例,同理可以應用到textfile格式的處理。

以上左邊你可以對其寫死,所有的NULL均轉爲\\N ,或者像我這邊傳進來nullFormat使得NULL作爲空還是空字符串取決於你這邊設置值。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章