代码之家  ›  专栏  ›  技术社区  ›  Embedded_Mugs

如何跟踪何时将行从Google BigQuery发布到发布/订阅?

  •  0
  • Embedded_Mugs  · 技术社区  · 7 年前

    我正在使用cron作业将数据从googlebigquery(googlesql数据仓库)写入mysql。我们使用google发布/订阅作为中介(从bigquery读取,发布到发布/订阅,然后从发布/订阅订阅并写入mysql(在cloudsql上))。我们在bigquery表的每一行上放置一个published\u标志布尔值,以指示何时成功发布了一行。问题是bigquery每天每个表的更新/插入/删除语句数量有限。此外,我们正在处理数十亿行。这个问题的替代解决方案是什么?是否有任何GCP服务或web服务可以更优雅地处理此问题?

    我们目前的选择是:

    1. 购买更多bigQuery配额(不可扩展)

    2. 从bigquery直接写入mysql(不健壮且不解耦)

    3. 在另一个服务(如google data store)中创建另一个表,以跟踪已发布的行(看起来并不优雅,而且增加了复杂性)。

    4. 批量更新发布标志(也不可扩展)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Carl Cono    6 年前

    将cronjob和 Pub/SUb 对于这个用例来说,可能不是一个好的选择。最合适的产品应该是 Cloud Dataflow 因为它是为ETL设计的。在这种特定情况下,您可以使用 BigqueryIO 从中读取 Bigquery JdbcIO 将其写入SQL数据库。