Oracle 导入数据到hive遇到的分隔符问题

需求:将Oracle数据导入到hive。

问题:hive建表只是一个开始,需要替换默认的行列分隔符,如果设置的不合理,就会出现一个Oracle字段值拆分后存放到多个hive字段的情况。

结论:经过几番折腾,最终还是使用默认的列分隔符“\u0001”和行分隔符“\n”,不过需要在Oracle导入到hive之前替换掉默认分隔符为“ ”。

替换方法:

INSERT INTO newTableName
	SELECT replace(replace(columnName, chr(1), ' '), chr(10), ' ')
	FROM tableName;

除了标题开始符(“\u0001”,chr(1)),换行符(“\u0010”,chr(10)),有时候水平制表符(“\u0009”,chr(9))、回车符(“\u0013”,chr(13))也需要替换。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值