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格式的字符串

版权声明:本文为nanfeizhenkuangou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。