如何在DataStore上“聚合”实体

时间:2018-03-02 13:55:44

标签: google-cloud-datastore

我理解Cloud Datastore查询引擎不支持“加入”和“聚合”查询。

但是,如果我必须做“聚合”,如何聚合实体?

哪种方式更好?或者其他什么方式?

  • 如果实体值是更新,则同时更新并汇总到另一个实体进行汇总。
  • 阅读每个实体并使用Dataflow进行缩减。
  • 导出到Bigquery。

1 个答案:

答案 0 :(得分:2)

不需要实时数据

如果您不需要实时数据,请定期从Cloud Datastore到BigQuery进行exports

gcloud datastore export --kinds="myKind" gs://${BUCKET}

有人甚至做过shell script来帮助将类型导出到GCS,然后导入到BigQuery。

需要实时数据

这里要考虑的一件事是使用projections。投影查询更快更便宜,因为您可以告诉Datastore只返回您想要聚合的属性,并将其从索引中流出。

如果您有更大的数据集,那么Dataflow可以派上用场。