3
我創建了具有數字列(如雙列和字符串列)的配置單元表。我的文件包含數字和字符串列的一些NULL值。當我嘗試將一個文件加載到此表中時,數值列的NULL值被替換爲file中的'\ N'。我知道這是處理數值類型列的空值的hive屬性,但我想阻止它或是否存在任何方式,我可以將NULL更改爲其他內容而不是'\ N'。將NULL數據轉換爲' N'以用於配置單元中的數字列。
我創建了具有數字列(如雙列和字符串列)的配置單元表。我的文件包含數字和字符串列的一些NULL值。當我嘗試將一個文件加載到此表中時,數值列的NULL值被替換爲file中的'\ N'。我知道這是處理數值類型列的空值的hive屬性,但我想阻止它或是否存在任何方式,我可以將NULL更改爲其他內容而不是'\ N'。將NULL數據轉換爲' N'以用於配置單元中的數字列。
默認情況下NULL
值寫入數據文件中爲\N
和\N
,在查詢數據時數據文件被解釋爲NULL
。
這可以通過使用TBLPROPERTIES('serialization.null.format'=...)
來覆蓋。
TBLPROPERTIES('serialization.null.format'='')
意味着:
該屬性可以被聲明爲表創建的一部分
create table mytable (...)
tblproperties('serialization.null.format'='')
;
並且可以稍後改變
alter table mytable set tblproperties('serialization.null.format'='')
;