hive-drop-import-delims選項對oracle的clob無效
阿新 • • 發佈:2018-07-11
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無效