使用sqoop将hive 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"
答案 0 :(得分:1)
由于缺少列或错误的列位置,这可能是一个问题。
此外,不需要--null-string
和-null-non-string
。这些用于sqoop import
命令。