hive-hive -e中的引号文本转义的问题

在使用Hive处理数据时,遇到将list_no对应的多辆车信息转化为JSON格式并存储到HBase中的问题。主要挑战在于JSON字符串中的双引号需要正确转义,但尝试了不同数量的反斜杠()进行转义后,Hive显示与HBase存储的结果不一致。例如,1个在HBase中会显示1个,4个在Hive中显示1个,而不加则导致 Hive 拼接错误。寻找解决方案以确保JSON字符串在Hive和HBase间的一致性。

一、背景

hive版本:2.0.1

需求

一个list_no对应多辆车,将多辆车的信息列转行,以json的形式放到一个单元格。然后存到hbase中,通过http请求查。
这就需要拼json串,而json的kv都需要用双引号包裹。
而且同一个值,在hive和通过http请求查hbase,显示的竟然不一样!!!

二、usage

concat('\"vehicle_no\":\"',vehicle_no,'\"')

1.双引号前面1个\,hive中显示正常,存到hbase中后,出现1个\

在这里插入图片描述

2.双引号前面4个\,hive中显示1个\。根据这篇blog(https://blog.csdn.net/Python_Billy/article/details/115285066),但并没有实现里面效果

3.双引号前面不加\,hive中只显示k,没有v,双引号跟hive -e "的双引号拼起来了

4.双引号前面5个\,查hbase后双引号前面出现3个\

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值