【发布时间】:2021-07-03 08:19:06
【问题描述】:
我正在处理一个大表(mytable),我必须在其中解析一个字符串类型的列。 column(value) 是一个 json 字符串,如下所示。 我的表 -->
| id | key | value |
|---|---|---|
| 1 | bgtn | {"3Dtyu":"4gg","3tyi":34.98,"rty_amt":45.99,"4ftyh":"5AA"} |
我已经在 Impala (Hue) 中尝试过下面提到的查询
select get_json_object(value,"$.3Dtyu") as value
from mytable
where id=1;
错误信息:
errorMessage="UDF 错误: 无法解析 json 路径'$.3Dtyu': 位置 2 的预期键\n"
我也尝试了几件事:
- 代码 1
select get_json_object(value,"$.*") as value
from mytable
where id=1;
输出:
| value |
|---|
| ["4gg",34.98,45.99,"5AA"] |
- 代码 2
select get_json_object(value,"$.rty_amt") as value
from mytable
where id=1;
输出:
| value |
|---|
| [45.99] |
但是当解析其中以数字开头的特定键时,get_json_object 失败。
我将非常感谢您的帮助。
谢谢!
【问题讨论】:
-
看起来你需要更新你的数据库引擎:issues.apache.org/jira/plugins/servlet/mobile#issue/IMPALA-8547