Sqoop面试题收集

如何理解sqoop

sqoop导入导出hivemysql 出现的问题

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

解决:源数据为空,导入到HiveNULLstring)字符串,目标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中表名有大小写区分。

Sqoop问题总结

http://wangxucumt.iteye.com/blog/1974300

Sqoop MySQL导入HIVE时间格问题

https://blog.csdn.net/MuQianHuanHuoZhe/article/details/80514361


你可能感兴趣的:(IT面试题收集录,大数据~Sqoop)