sqoop导入导出hive,mysql 出现的问题
1.从mysql导入到Hive 出现数据带入错误:当字段中存在输入tab键,会被hive识别多创建一条字段。
解决:sqoop import 语句中 添加 --hive-drop-import-delims 来把导入数据中包含的hive默认的分隔符去掉。
2.出现PRIMARY主键错误:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ‘1’ for key ‘PRIMARY’
解决:目标表中数据没有清除,清除后倒入成功(表的主键)
3.com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘rep_status’ at row 1
解决:源数据为空,导入到Hive为NULL( string)字符串,目标mysql 字段长度为varchar(2)长度不够,报错。加入 --null-string “\N” --null-non-string “\N”
4.java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
解决:时间格式在数据集市中为String,导入到堡垒机中会自动转换成对应时间格式。或者导入hive时指定导入时间格式。–map-column-java passtime=java.sql.Timestamp
5.将Hive中数据导入到Oracle中注意:Sqoop导出语句要注意 目标 Table 名 要为大写。Oracle中表名有大小写区分。
转自
https://blog.youkuaiyun.com/WYpersist/article/details/80917961
Sqoop问题总结
http://wangxucumt.iteye.com/blog/1974300
Sqoop MySQL导入HIVE时间格问题
https://blog.youkuaiyun.com/MuQianHuanHuoZhe/article/details/80514361
————————————————
版权声明:本文为优快云博主「菜鸟级的IT之路」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/WYpersist/article/details/80917961