記錄幾個sqoop任務執行中遇到的錯誤
阿新 • • 發佈:2018-11-27
fault term 解決辦法 prop username info character alt apach sqoop報錯
1. sqoop將mysql中的數據導入到hive中
報錯:Hive does not support the SQL type for column ssl_cipher
原因:報這個錯是因為hive不支持mysql表中某些字段的類型
解決:--map-column-hive ssl_cipher=string,x509_issuer=string,x509_subject=string \ 這個是強制轉換mysql表中某個字段的類型為string類型,多個字段中間以逗號隔開,,,,加這個指令加入到sqoop腳本中
sqoop腳本指令如下:
sqoop import \
--connect jdbc:mysql://*****:***/mysql \
--username **** \
--password **** \
--table user \
--fields-terminated-by "\t" \
--lines-terminated-by "\n" \
-m 1 \
--hive-import \
--hive-database default \
--create-hive-table \
--hive-table usertest \
--hive-overwrite \
--map-column-hive ssl_cipher=string,x509_issuer=string,x509_subject=string \ 這個是強制轉換mysql表中某個字段的類型為string類型,多個字段中間以逗號隔開
--delete-target-dir
2. sqoop從mysql中導入數據到hive中
報錯:ERROR tool.ImportTool: Import failed: java.io.IOException: Generating splits for a textual index column allowed only in case of "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" property passed as a parameter
原因:主要問題是“--split-by id”這個參數指定的id是一個文本格式,所以需要在命令中加入選項"-Dorg.apache.sqoop.splitter.allow_text_splitter=true",(這個參數具體是什麽意思我也不懂)
解決辦法:-Dorg.apache.sqoop.splitter.allow_text_splitter=true把這個指令假如到sqoop指令腳本中
3. sqoop從mysql中導入數據到hive中
報錯: ERROR tool.ImportTool: Imported Failed: Character 8216 is an out-of-range delimiter
解決辦法:仔細檢查指令中的字符,看看有沒有中文狀態的,我的就是中文狀態的單引號引起的報錯
4.報錯:
原因:這種錯一般是地址或數據庫寫錯,連接不上
解決辦法:仔細檢查。
記錄幾個sqoop任務執行中遇到的錯誤