sqoop导入导出hive,mysql 出现的问题

本文总结了使用Sqoop在不同数据库间迁移数据时遇到的常见问题及其解决方案,包括从MySQL导入Hive时的字段分割错误、主键冲突、数据截断、时间格式不匹配等问题,并提供了详细的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值