首页 > 解决方案 > 将谷歌数据存储和大查询数据连接在一起

问题描述

我需要生成一个记录集来支持 google bigquery 和数据存储数据的组合视图。记录集需要返回到应用引擎上的烧瓶 webapp,将其格式化为报告的形式。

从概念上讲,我想构建以下查询;

select bq.column1, bg.column2, bq.column3,
       ds.column4, ds.column5, ds.column6
from bigquery bq join datastore ds on bq.uniquekey = ds.uniquekey
where bq.column10 in ('some list of filters')

bigquery 数据保存事务信息(并已分区和调整),数据存储保存相当于维度数据。唯一键是数据存储中的 id 列

我能够使用 python 针对谷歌应用引擎中的两个数据源构建查询。我试图避免编写包含新组合数据的新表,而是提供关系的实时视图。

数据存储中大约有 25k 个实体,每天增长 < 100 个实体,biquery 中有 5M+ 个实体,每小时增长 10000 条记录。我需要在 5 秒内将报告返回给用户。

有没有办法在不保存数据视图的情况下实时执行此操作?

标签: pythongoogle-app-enginegoogle-bigquerygoogle-cloud-datastore

解决方案


没有办法直接做到这一点。相反,您可能想要做的是在 BigQuery 上进行查询,然后如果 ds.uniquekey 实际上是 Datastore 实体键,那么您可以从 BigQuery 查询返回的结果中查找每个 Datastore 实体。


推荐阅读