Sqoop--源数据含有默认换行符导致的数据不正确
问题描述 使用sqoop导数导到hdfs中,使用Hive查询发现数据多了,并且有数据错位的现象。 原因 源数据中有’\n’换行符,导致被hive识别为换行符。所以出现了记录多并且数据错位的现象。 解决方法 使用sqoop命令时加入: –hive-drop-import-delims 例如: sqoop import \ --connect ${CONNECT} \ --username ${USER} \ --password " ${PASSWD} " \ --query " select ${impala_fields} from ${MYSQL_TABLE} where \ $CONDITIONS " \ --where '1=1' \ --fields-terminated-by '\001' \ --hive-drop-import-delims \ --target-dir ${HDFS_DIR} / ${HIVE_DB} .db/ ${HIVE_TABLE} /part_key = ${HOST} \ --delete-target-dir \ --outdir ${PROGRAM_HOME} /java \ --null-string '\\N' \ --null-non-string "\0" \ -m ${NUMMAPPERS} 来源: oschina 链接: