Google Cloud Datastore或Google BigQuery是否更适合分析查询?

时间:2017-07-12 15:00:32

标签: python pandas google-cloud-datastore google-bigquery google-cloud-platform

目前,我们正在将从供应商API检索到的数据上传到Google Datastore。想知道数据存储和查询数据的最佳方法是什么。

我将需要查询数百万行数据,并将从数据中提取自定义工程功能。所以想知道我是否应该直接将数据加载到BigQuery中并查询它以便更快地处理或将其存储在Datastore中,然后将其移动到BigQuery进行查询?我将使用pandas对存储的数据进行统计。

3 个答案:

答案 0 :(得分:5)

通常,Google Cloud Datastore用于存储应用程序访问的用户数据。 Google BigQuery用于运行数据分析查询,因此听起来更适合您提出的用例。

您可以看到Google Cloud storage options table进行更详细的比较。

Loading Datastore data directly into BigQuery会为您提供最佳的查询效果,但您也可以backup your Datastore to Cloud Storage并使用Cloud Storage as an external data source for BigQuery

要在Pandas中访问BigQuery结果,您可以使用pandas-gbq库或使用与Datalab的BigQuery集成。

答案 1 :(得分:0)

据我所知,Pandas中没有对数据存储的支持。这可能会影响您的决定。

答案 2 :(得分:0)

对于BigQuery,您还可以考虑针对 1000 的INSERT / DELETE操作的每日配额限制,而对于数据存储,则可以考虑 20000 的每日配额限制(在这篇文章)。见下面的参考文献:

最重要的是,在BigQuery中,UPSERT或行的修改看起来不是推荐的操作:

因此,这些可以帮助您从另一个方面做出决定。

- 以下是我个人的经历 -

我遇到了类似的选择情况,但在了解了这个配额事实之后,我得到的印象是BigQuery可能并不总是适合作为数据湖,但您可能先在Datastore上加载数据,然后加载一些数据以便以后分析到BigQuery,正如@ tim-swast所说: