Fel*_*ffa 12 json google-bigquery
BigQuery 具有在实时交互式查询中解析 JSON 的功能:只需将 JSON 编码对象存储为字符串,并使用 JSON_EXTRACT_SCALAR 等函数实时查询。
但是,我找不到发现这些对象中所有键(属性)的方法。
我可以为此使用 UDF 吗?
这是使用标准 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
Run Code Online (Sandbox Code Playgroud)