安排任务以将 BigQuery 表加载到 Apache Ignite

Posted

技术标签:

【中文标题】安排任务以将 BigQuery 表加载到 Apache Ignite【英文标题】:Schedule task to load BigQuery table into Apache Ignite 【发布时间】:2020-02-19 16:28:05 【问题描述】:

我有一个用例,我们需要定期将 BigQuery 表加载到缓存中并从那里支持 SQL 查询。我正在研究 Apache Ignite,并认为它可能非常适合我们的用例。只是我还不清楚如何从 BigQuery 获得自动加载。通过“自动加载”,我的意思是让 Apache Ignite 使用 BigQuery 表数据进行更新,并让这种更新对应用程序透明。在大多数情况下,我们的 BigQuery 表由其他计划的作业/查询更新,间隔从 5 分钟到 1 个月不等。

我是 Ignite 的新手,我想我的问题如下:

    Ignite 是否已经支持此功能? (我找不到)

    或者是否已经有任何现有的插件? (我找不到)

    如何使用 Ignite 实现 BigQuery 的自动加载缓存?

【问题讨论】:

【参考方案1】:

您可以使用 Cache Store / loadCache() 执行一次,但每隔几分钟执行一次是不可行的。如果支持推送增量,您可能希望为 Apache Ignite 设计一个 BigQuery 流式传输器。

【讨论】:

【参考方案2】:

如果 Google BigQuery 没有为 CDC 工具打开其变更日志文件,那么请了解如何以不同的方式捕获这些更新并通过其 IgniteDataStreamer API 将它们流式传输到 Ignite。应该有一种方法可以通过一些发布/订阅机制来捕获更改。

【讨论】:

以上是关于安排任务以将 BigQuery 表加载到 Apache Ignite的主要内容,如果未能解决你的问题,请参考以下文章

安排定期将数据从 GCS 加载到 BigQuery

BigQuery - 在 UI 上复制表格 - 不复制所有表格

BigQuery:加载 excel 文件

增量加载和 BigQuery

BigQuery 加载作业不会插入所有数据

如何编写 BigQuery/SQL 查询以将一个表中的列的平均值与第二个/另一个表中的列相除