我的数据源是基于第三方工具中发生的事件。customer.created,customer.updated,customer.plan.updated。每个事件都有不同的json模式。甚至可能是相同的事件,例如:customer.updated可能有与以前的customer.updated事件不同的模式。
我计划将这些数据加载到BigQuery中,但似乎BigQuery不支持动态模式。我正在构建一个数据仓库,并希望将与客户相关的所有事件存储在同一个表中。
bigquery是这类数据的正确工具吗?对于这种类型的数据,GCP、bigtable//cloud等还有其他更好的选择吗?其中一个要求是,如果可能的话,非技术人员可以轻松地查询数据,他们可以执行简单的select、join查询。
发布于 2017-07-11 20:06:09
当您可以将数据放在定义良好的列中时,您将在BigQuery中获得最好的结果,但如果只将JSON对象存储为字符串,也会得到很好的结果。
例如,看看https://www.githubarchive.org/是如何做到的:

#standardSQL
SELECT JSON_EXTRACT_SCALAR(payload, '$.pull_request.base.repo.language') lang
, COUNT(*) c
FROM `githubarchive.month.201612`
WHERE type='PullRequestEvent'
GROUP BY lang
HAVING lang IS NOT null
ORDER BY c DESC
LIMIT 10

https://stackoverflow.com/questions/45037415
复制相似问题