【发布时间】:2021-07-10 21:41:55
【问题描述】:
关注这些帖子:How to cross join unnest a JSON array in Presto 和 Presto unnest json 我无法将我的 JSON 映射到所需的表中。
当我运行这个 presto 时:
SELECT
*
FROM UNNEST(
CAST(
JSON_EXTRACT('{"1":{"a":10,"b":11},"2":{"a":20,"b":21}}', '$.1') AS ARRAY(
VARCHAR
-- ROW(VARCHAR, BIGINT)
-- MAP(VARCHAR, MAP(VARCHAR, BIGINT))
)
)
) AS x(n)
我明白了:
(INVALID_CAST_ARGUMENT) Cannot cast to array(varchar). Expected a json array, but got {
{"a":10,"b":11} ...
但我理想的预期答案是:
a | b
---+---
10 | 11
20 | 21
我如何UNNEST Map 而不是数组?
【问题讨论】: