一、背景
使用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作爲空還是空字符串取決於你這邊設置值。