【发布时间】:2019-07-05 23:38:21
【问题描述】:
value
{"$screen_width":375,"$app_version":"2.5.0"}
假设我有一个如上所示的表格。 "2.5.0" 的值是我想要的。
我尝试使用get_json_object,但它失败了。
因为路径"$app_version" 包含$ 符号,而Hive 将其视为根目录符号。
我尝试了几种编码方式,但都失败并返回NULL。
select get_json_object(value,"$.$app_version")
select get_json_object(value,"$.\\$app_version")
select get_json_object(value,"$.\$app_version")
select get_json_object(value,"$..app_version")
任何高级 Hive 用户都知道如何修复它?
暂时用正则表达式解决。
select
regexp_extract(
properties
,'\\"\\$os_version\\":\\"[\\d?]+\\.[\\d?]+\\.[\\d?]+\\"'
,0
)
,properties
from opd.test_json_object
但是,我很好奇这里没有机会使用get_json_object?
【问题讨论】:
标签: json hive dollar-sign