将谷歌数据存储和大查询数据连接在一起

Posted

技术标签:

【中文标题】将谷歌数据存储和大查询数据连接在一起【英文标题】:Joining google datastore and bigquery data together 【发布时间】:2019-04-26 05:15:16 【问题描述】:

我需要生成一个记录集来支持 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 个实体,每天增长

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

【问题讨论】:

您期望从该查询获得的结果集有多大?如果没有 Datastore 列,BigQuery 运行查询的速度有多快? 大多数结果集将是 500 条记录或更少 有了这么小的结果集,您应该执行以下答案中的操作。关键是确保您从 BigQuery 获取数据存储区实体键,以便一次获取所有数据存储区实体。 【参考方案1】:

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

【讨论】:

以上是关于将谷歌数据存储和大查询数据连接在一起的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ssh 隧道将谷歌数据工作室连接到 AWS 上的 postgres 无服务器?

大数据和大分组的优化查询

将谷歌云存储文件夹挂载到谷歌人工智能平台作业

将谷歌地图放在数据库的中心?

我可以在 Redshift 上的存储过程中将两个查询连接在一起吗?

将谷歌分析数据 api 连接到 dojo 图表 - php 后端