关于Sqoop-Cannot understand character argument: \u0001

sqoop导出数据,报Cannot understand character argument: \u0001

解决方案:

#不要用'\u0001',换成 '\001'
#不要用'\u0001',换成 '\001'
#不要用'\u0001',换成 '\001'

#export用:
--input-fields-terminated-by '\001'

#import用
--fields-terminated-by '\001'

其他一些备忘:

如果分隔符写在配置文件中了,直接用\001就行,不用再加单引号,因为读取方式是awk

FIELDS_SEPARATOR=`echo $line | awk -F '|' '{print $7}'`


if [ -z "$FIELDS_SEPARATOR" ]
then 
    FIELDS_SEPARATOR='\011'   #默认分隔符
fi


sqoop export --table ${TARGET_TABLE} \
    --connect ${JDBC_DRIVER}  \
    --username ${USERNAME} \
    --password ${PASSWORD} \
    --export-dir /user/hive/warehouse/${SROUCE_DB}.db/${SOURCE_TABLE}/${PARTITION_KEY}/* \
    --columns ${COLUMN_STR} \
    --outdir ${SHELL_PATH}/java_file/ \
    --input-fields-terminated-by ${FIELDS_SEPARATOR} \
    --input-lines-terminated-by '\n' \
    --input-null-string '\\N' \
    --input-null-non-string '\\N'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值