1. 程式人生 > >hive-drop-import-delims選項對oracle的clob無效

hive-drop-import-delims選項對oracle的clob無效

not lims doc iter del 類型 說明 lob var

工作過程中發現了用sqoop將oracle中的數據導入到hive時,會因為oracle中類型為clob的字段中存在換行時,會造成hive的數據錯位。即使加上了 --hive-drop-import-delims 也無效。

通過查詢,發現有兩種解決方案,

一種是將oracle中類型為clob的字段通過cast(column_name as varchar2(4000)) 將類型進行顯式轉換。

另一種是用 --map-column-java col1=String,col2=String 來顯式說明某字段在java中的類型。

關於第二種方式,詳見 https://stackoverflow.com/questions/28076200/hive-drop-import-delims-not-removing-newline-while-using-hcatalog-in-sqoop

sqoop文檔中關於改參數的說明,詳見:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_literal_blob_literal_and_literal_clob_literal_columns

hive-drop-import-delims選項對oracle的clob無效