我的数据源基于第三方工具中发生的事件。例如: - customer.created
,customer.updated
,customer.plan.updated
。每个事件都有不同的json
架构。并且甚至可能是同一事件,例如:customer.updated
可能具有与先前customer.updated
事件不同的模式。
我打算将此数据加载到BigQuery
,但似乎BigQuery
不支持动态架构。我正在构建一个数据仓库,并希望将与客户相关的所有事件存储在同一个表中。
bigquery
是否适合此类数据?对于此类数据,GCP bigtable / cloud数据存储区/云sql等还有其他更好的选择吗?其中一项要求是,如果可能,非技术人员可以轻松查询数据,他们可以执行简单的select
,join
查询。
答案 0 :(得分:2)
当您可以将数据放在定义良好的列中时,您将获得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