BigQuery 具有在实时交互式查询中解析 JSON 的功能:只需将 JSON 编码对象存储为字符串,并使用 JSON_EXTRACT_SCALAR 等函数实时查询。
但是,我找不到发现这些对象中所有键(属性)的方法。
我可以为此使用 UDF 吗?
最佳答案
这是使用 Standard SQL 的东西:
CREATE TEMP FUNCTION jsonObjectKeys(input STRING)
RETURNS Array<String>
LANGUAGE js AS """
return Object.keys(JSON.parse(input));
""";
WITH keys AS (
SELECT
jsonObjectKeys(myColumn) AS keys
FROM
myProject.myTable
WHERE myColumn IS NOT NULL
)
SELECT
DISTINCT k
FROM keys
CROSS JOIN UNNEST(keys.keys) AS k
ORDER BY k
关于json - 如何使用 BigQuery 提取 JSON 对象中的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34890339/