Sqoop数据一致性问题
参考资料:https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html
1.mysql空值和hive空值符号不一样,通过加参数可以解决
--null-string '\\N' \
--null-non-string '\\N'
2.mysql的\n \t 等 字符 与hive的保留字符冲突,通过加参数可以解决
--hive-drop-import-delims \
3.sqoop底层是四个map,在导入mysql的时候,可能失败,通过加参数可以解决(相当于临时表+事务)
4.sqoop的数据倾斜问题,通过加参数可以解决(自定义均匀划分范围,让数据均匀分布)
--split-by id \
5.mysql与hive字段不匹配问题,如精度不一致,数据类型不一致,特别注意timestamp和decimal
6.Sqoop从MySQL导入tinyint(1)到hive(tinyint)数据为空问题
Solution: A more clean solution is to force MySQL JDBC Connector to stop convert