从品牌网站建设到网络营销策划,从策略到执行的一站式服务
Spark SQL中怎么操作JSON字段,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
get_json_object
第一个就是get_json_object,具体用法如下:
select get_json_object('{"k": "foo", "v": 1.0}','$.k') as k
需要给定get_json_object 一个json字段名(或者字符串),然后通过类似jsonPath的方式去拿具体的值。
这个方法其实有点麻烦,如果要提取里面的是个字段,我就要写是个类似的东西,很复杂。
from_json
具体用法如下:
select a.k from ( select from_json('{"k": "foo", "v": 1.0}','k STRING, v STRING',map("","")) as a )
这个方法可以给json定义一个Schema,这样在使用时,就可以直接使用a.k这种方式了,会简化很多。
to_json
该方法可以把对应字段转化为json字符串,比如:
select to_json(struct(*)) AS value
可以把所有字段转化为json字符串,然后表示成value字段,接着你就可以把value字段写入Kafka了。是不是很简单。
处理具有大量字段的JSON数据集
JSON数据通常是半结构化、非固定结构的。将来,我们将扩展Spark SQL对JSON支持,以处理数据集中的每个对象可能具有相当不同的结构的情况。例如,考虑使用JSON字段来保存表示HTTP标头的键/值对的数据集。每个记录可能会引入新的标题类型,并为每个记录使用一个不同的列将产生一个非常宽的模式。我们计划支持自动检测这种情况,而是使用map类型。因此,每行可以包含Map,使得能够查询其键/值对。这样,Spark SQL将处理具有更少结构的JSON数据集,推动了基于SQL的系统可以处理的那种查询的边界。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图