sqoop 从oracle到hive数据错位,并产生很多null值,clob类型被截取成一小段一小段


1、在执行Sqoop从oracle和mysql导数到hive中时,出现hive数据错位,并产生很多null值:

原因是源数据中包含许多'\n'、'\r'、'\01'等字符,表在分割字段和行过程中出现错位;

解决方式:在Sqoop执行中增加属性–hive-drop-import-delims,在导入数据到hive中时,去掉数据中\n,\r和\01这样的字符;

--hive-drop-import-delims --lines-terminated-by '\n' 
--hive-drop-import-delims 的意思是指:delims Drops \n, \r, and \01 from string fields when importing to Hive.

2、clob类型字段中保存了json格式数据和xml格式,在导入hive之后,数据被截取成一小段一小段:

原因:clob类型中保存的数据有xml报文和json字符串,包含大量换行符,表在分割字段和行过程中出现错位。

解决方式:在Sqoop执行中增加--map-column-java "SEND_MSG=String,RECV_MSG=String"属性和值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_小海_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值