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