oracle clob 查询换行,sqoop clob从Oracle导入到hive   回车换行导致记录增多

sqoop clob从Oracle导入到hive   回车换行导致记录增多

发布时间:2020-06-27 02:45:01

来源:51CTO

阅读:3159

作者:jackwxh

sqoop import --hive-import --hive-overwrite  --connect jdbc:oracle:thin:@192.168.92.136:1521:cyporcl --username ODS --password 'od154DS$!('  -m 1  --hive-database ODS --table Q_TRA_DISPUTESTATUS --fields-terminated-by '\001' --hive-drop-import-delims  --null-string '\\N' --null-non-string '\\N'  --map-column-java DISPUTERESULT=String

DISPUTERESULT 这个字段是Oracleclob 类型的,里面有回车, 加载到hive 里面导致 记录增多。

--map-column-java和--map-column-hive两个参数都要显示给出;还需要设置--hive-drop-import-delims这样才能顺利导出数据。

.导入的列有换行符如何解决

本以为万事大吉,万万没想到导入的列有nclob类型,里面存储了一篇篇文章,势必有着换行符。果不其然,hive查询数据全部错乱, 查询资料发现--hive-delims-replacement(替换/n,/r等符号用你指定的字符)和--hive-drop-import-delims参数。可添加上去发现并没有什么卵用,没有起作用。百度goole很久,终于发现一篇帖子,http://stackoverflow.com/questions/28076200/hive-drop-import-delims-not-removing-newline-while-using-hcatalog-in-sqoop

意思是要用--map-column-java参数来显示指定列为String类型。我的解决方案为 --map-column-java 我的CLOB列=String 果然,问题解决,换行符全部被去掉。不过听说改变存储格式 或许也可以避免这个问题,希望有着经验的大神来回答一下。总结下来就这么多,希望能帮助大家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值