加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:40:21 所属栏目:百科 来源:网络整理
导读:1、在执行Sqoop从oracle和mysql导数到hive中时,出现hive数据错位,并产生很多null值: 原因是源数据中包含许多'n'、'r'、'1'等字符,表在分割字段和行过程中出现错位; 解决方式:在Sqoop执行中增加属性–hive-drop-import-delims,在导入数据到hive中


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

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

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

--hive-drop-import-delims --lines-terminated-by 'n'
--hive-drop-import-delims 的意思是指:delims Drops n,r,and 1 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"属性和值

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读