gpt4 book ai didi

google-bigquery - Google Cloud上的ETL-(数据流与 Spring 批处理)-> BigQuery

转载 作者:行者123 更新时间:2023-12-02 11:58:48 24 4
gpt4 key购买 nike

我正在考虑将BigQuery作为我的数据仓库要求。现在,我将数据存储在Google Cloud(Cloud SQL和BigTable)中。我已经公开了我的REST API,以从这两者检索数据。现在,我想从这些API中检索数据,执行ETL并将数据加载到BigQuery中。我现在正在评估ETL(每小时数据的每日工作频率)的2个选项:

  • 使用JAVA Spring Batch并创建微服务,并使用Kubernetes作为部署环境。会缩放吗?
  • 将Cloud DataFlow用于ETL

  • 然后使用BigQuery批处理插入API(用于初始加载)和流插入API(用于在源中有新数据时用于增量加载)加载BigQuery非规范化架构。

    请让我知道您的意见。

    最佳答案

    在不知道您的数据量的情况下,特别是在每天有多少新数据或差异数据以及如何使用REST API进行分页的情况下-这是我的指导...

    如果沿用Spring Batch的方法,那么很有可能不得不提出自己的分片机制:如何分割REST调用以实例化Spring服务?您还将在Kub管理空间中,并且必须使用到BQ的流API处理重试。

    如果沿着数据流路线走下去,您将必须编写一些转换代码来调用REST API,并执行分页以填充发往BQ的PCollection。使用最近添加的Dataflow模板,您可以:创建每N小时触发一次的管道,并参数化REST调用以仅提取数据?since = latestCall。从那里您可以执行BigQuery写操作。我建议以批处理方式执行此操作,因为1)如果您有数百万行,它将可以更好地扩展2)减少管理的麻烦(在非 Activity 时间)。

    由于Cloud Dataflow为BiqQuery内置了重试逻辑,并在所有输入和输出集合之间提供了一致性-在这种情况下,我的投票赞成Dataflow。

    您的REST调用产生的记录数量有多大?

    关于google-bigquery - Google Cloud上的ETL-(数据流与 Spring 批处理)-> BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45630225/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com