之前对mysql大小写敏感的问题不太在意,直到在工作上碰到了bug,才意识到问题的不可忽略性,于是在这简要总结一下。
工作上碰到的问题回顾
使用sqoop命令从hive往mysql导数据:
sqoop export --connect "jdbc:mysql://172.16.xxx.xxxx:3306/database1?useUnicode=true&characterEncoding=utf-8"
--username=root --password=root --table tablename1
--update-key id --update-mode allowinsert
--export-dir /user/hive/warehouse/database1.db/tablename1
--input-fields-terminated-by '\t'
--input-null-string '\\N' --input-null-non-string '\\N' -m1
命令执行成功,无任何报错。但是让人奇怪的是,hive表中的记录数和mysql表中的记录数对不上,hive中是1000条,但是mysql中是981条。
将两表join连接,查看哪些记录没匹配上,发现:
hive表id | hive表text | mysql表id | mysql表text |
---|---|---|---|
R3700 | aaaa | NULL | NULL |
r3700 | bbbb | r3700 | bbbb |