美文网首页
Sqoop--源数据含有默认换行符导致的数据不正确

Sqoop--源数据含有默认换行符导致的数据不正确

作者: 撸码小丑 | 来源:发表于2018-11-29 23:04 被阅读92次

    问题描述

    使用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}
    

    相关文章

      网友评论

          本文标题:Sqoop--源数据含有默认换行符导致的数据不正确

          本文链接:https://www.haomeiwen.com/subject/ajwaqqtx.html