1、可有可无的配置

2、sqoop导入需要指定一个字段为分割字段,select max(id),min(id) from test 然后根据指定的并行度(默认是4)进行分割,如果这个字段不是数字类型需要加上一句话

3、mysql中null值的处理,如果mysql中是null,在导入到hdfs的时候,sqoop会把null值字段,变成null字符串导入,
这样会有问题,比如我把这些数据再导入到hive,那么hive就会把null字符串,真的导成null字符了,原来mysql的null值列,在hive中 is null 查询就查不到了

解决方式:文件都是字符串,那么hive会把什么识别为null呢? --------------> '\N' 因此导入hdfs的时候,需要指定一下null值转换策略

--null-string '\\N' // 记得转译一下\
--null-non-string '\\N' 加上这两个
标准语法
sqoop import \
--connect jdbc:mysql://dream1:3306/bigdata \
--username root \
--password root \
--table test \
--target-dir /sqoop/test/ \
--fields-terminated-by ',' \
--delete-target-dir \
--split-by id \
--null-string '\\N' \
--null-non-string '\\N' \
-m 2
Sqoop导入数据配置及null值处理
博客介绍了Sqoop导入数据的相关内容。导入时需指定分割字段,根据并行度分割,非数字类型字段有额外要求。还提到了MySQL中null值处理问题,Sqoop导入HDFS会将null变成null字符串,再导入Hive会有查询问题,解决办法是指定null值转换策略。
3527

被折叠的 条评论
为什么被折叠?



