用sqoop把数据从mysql导入hdfs,再从hdfs写入hive数仓,hive中多出了一些null值,且执行了两次,多出来的null值个数是一样的。
sqoop脚本命令:
sqoop import
--connect jdbc:mysql://172.17.0.100:3306/datahoop2
--username root
--password ****
--target-dir /origin_data/sqoop/db/$1/$do_date
--delete-target-dir
--query "$2 where $CONDITIONS"
--fields-terminated-by "\t"
--num-mappers 1
--null-string '\N'
--null-non-string '\N'
hdfs到hive数仓是直接load的。
不要有null值
sqoop可以直接写入到hive表里,为啥要先写到hdfs再单独load?,另外你多出一些空值,也没有对应的截图,是怎么个多出法?某些字段多出?所有字段多出?个数一样指的那两个一样?如果你说两次导入之后空值个数一样,这不是废话嘛~~