Spark中与PostgreSQL JSON操作符->等价的函数咨询
Spark查询JSON字段指定值的等价实现
Spark支持和PostgreSQL完全对齐的JSON字段取值判断逻辑,常用两种实现方案:
- 方案1:
options字段为字符串类型存储的JSON文本时,使用get_json_object函数,等价于PostgreSQL的->操作符:
示例查询代码:SELECT * FROM 表名 WHERE get_json_object(options, '$.sales_tax_enabled') = 'true' - 方案2:
options字段已经提前解析为SparkStructType结构化JSON类型时,可直接通过点运算符访问嵌套字段,性能比字符串解析更高:
示例查询代码:SELECT * FROM 表名 WHERE options.sales_tax_enabled = 'true'
注意:如果你的JSON内存储的
sales_tax_enabled是布尔类型而非字符串类型的"true",可以直接去掉等式右侧的引号,写为= true即可,判断逻辑完全一致。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

