1.mysql数据库里面的字段是 tinyint 类型,通过sqoop 抓取出来的数据在HDFS 上面显示的true、false
解决办法:在连接上加上一句话tinyInt1isBit=false 即 jdbc:mysql://localhost/test?tinyInt1isBit=false
2.如果你指定了\n为sqoop导入的换行符,mysql的某个string字段的值如果包含了\n, 则会导致sqoop导入多出一行记录
-hive-drop-import-delims Drops \n, \r, and \01 from string fields when importing to Hive.
3.后续补充
完整的语句:sqoop import \
--connect jdbc:mysql://url:3306/b2b?tinyInt1isBit=false \
--username user \
--password 'password' \
--table tb_order \
-hive-drop-import-delims \
--fields-terminated-by '\001' \
--lines-terminated-by '\n' \
--delete-target-dir \
--num-mappers 1 \
--hive-import \
--hive-database database \
--hive-table table
-hive-drop-import-delims