微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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"属性和值

原文地址:https://www.jb51.cc/oracle/208388.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐