【发布时间】:2018-03-02 13:55:43
【问题描述】:
我了解 Cloud Datastore 查询引擎不支持“联接”和“聚合”查询。
但是,如果我必须做“聚合”,如何聚合实体?
哪些方法更好?或者什么方法?
- 如果实体值被更新,同时更新并汇总到另一个实体以进行聚合。
- 使用 Dataflow 读取每个实体并减少。
- 导出到 Bigquery。
【问题讨论】:
我了解 Cloud Datastore 查询引擎不支持“联接”和“聚合”查询。
但是,如果我必须做“聚合”,如何聚合实体?
哪些方法更好?或者什么方法?
【问题讨论】:
如果您不需要实时数据,请定期 exports 从 Cloud Datastore 到 BigQuery:
gcloud datastore export --kinds="myKind" gs://${BUCKET}
有人甚至做了一个shell script 来帮助将一种类型导出到 GCS,然后导入到 BigQuery。
这里要研究的一件事是使用projections。投影查询更快更便宜,因为您可以告诉 Datastore 只返回您想要聚合的属性,然后它将其从索引中流出。
如果您有更大的数据集,Dataflow 可以派上用场。
【讨论】: