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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句