sparksql中json处理

  1. get_json_object:从json中提取出字段
SELECT get_json_object('{"a":"b","c":"d"}', '$.a');# 提取到了b

'''xx表里biz_data字段存的是json格式,里面有字段'aa','bb','cc'  '''
spark.sql("select get_json_object(biz_data,'$.bb') from xx").show()# 得到bb字段的值

  1. 将固定几列映射成json,并取名字

将user_name和mobilePhone两列映射成json,属性值是userName和mobilePhone的值,属性名分别为name和mobile

spark.sql("select to_json( named_struct( 'name',userName, 'mobile',mobilePhone  ) ) from temp") # 属性固定,列值映射成json
  1. 将两个列映射成json,其中一列为属性名,一列为属性值
spark.sql("select to_json( map(col1,col2) )")#两个列映射成json,col1的值为属性名,col2的值为属性值
  1. 其他
    to_json操作之后,结果是字符串,即使不用to_json函数,也可以使用拼接方法合成json格式的字符串
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值