spark sql 生成 json

2022-06-22 16:56:03 浏览数 (1)

背景

想通过 spark sql 查询 hive 表然后将相应的字段组装成 sql,类似于 json_object ,不过可惜的是 spark 3.1.x 并没有 json_object 函数,不过还好spark sql 有 to_json 函数

例子:

代码语言:javascript复制
SELECT to_json(struct(bis_type,year,douban_rating))
from tv.test where date=20220620
limit 10

SELECT to_json(named_struct('bis_type',bis_type,'year',year,'douban_rating',douban_rating))
from tv.test where date=20220620
limit 10

结果,可以保留数据原类型。这是最重要的一个点,组装 json,得保留原字段的数据类型

代码语言:javascript复制
{"bis_type":"xxx","year":2022,"douban_rating":8.3}

0 人点赞