我在使用sqoop将配置单元bigint数据导出到mysql时遇到问题。
mysql和hive中的列的类型是bigint。
我得到以下错误:
Caused by: java.lang.NumberFormatException: For input string: "3465195470"
...
At java.lang.Integer.parseInt (Integer.java:583)
似乎在将hdfs中存储的字符串转换为数字类型时发生了错误。
hive和mysql列都是bigint类型,如何解决这个问题?
添加sqoop命令
export -connect "jdbc:mysql://{url}/{db}?{option}"
--username {username}
--password {password}
--table {username}
--columns "column1,column2,column3"
--export-dir /apps/hive/warehouse/tmp.db/{table}
--update-mode allowinsert
--update-key column1
--input-fields-terminated-by "\001"
--input-null-string "\\N"
--input-null-non-string "\\N"
--null-string "\\N"
--null-non-string "\\N"
1条答案
按热度按时间00jrzges1#
这可能是由于缺少列或列位置错误造成的问题。
也没有必要
--null-string
以及-null-non-string
. 这些用于sqoop import
命令。