当前位置: 首页 > 知识库问答 >
问题:

如何减少谷歌数据流作业的初始化和终止时间?

南宫凯康
2023-03-14

我目前正在研究一个POC,主要关注ETL处理的数据流。我使用Dataflow 2.1JavaBeam API创建了管道,初始化大约需要3-4分钟,每次运行终止也需要1-2分钟。然而,实际的转换(ParDo)需要不到一分钟。此外,我试图通过不同的方法来运行这些工作,

  • 在本地计算机上运行作业
  • 在GCP上远程运行作业
  • 通过数据流模板运行作业

但看起来,上述所有方法在初始化和终止时都或多或少地消耗相同的时间。因此,这是POC的瓶颈,因为我们打算每天运行数百个作业。

我正在寻找一种方法来共享所有作业的初始化/终止时间,以便它可以是一次性活动或任何其他方法来减少时间。

提前感谢!

共有1个答案

岳英锐
2023-03-14

据我所知,没有办法减少启动或拆卸时间。您不应该认为这是一个瓶颈,因为每个作业都独立于最后一个作业,所以您可以并行运行它们。等等,您也可以考虑将其转换为流式流水线,如果这是一个完全消除这些时间的选项。

 类似资料:
  • 我们的Google Cloud数据流管道程序调用了一些动态链接到*的库。所以要运行它,我需要设置linux环境变量LD_LIBRARY_PATH。有一种方法可以做到这一点:https://groups.google.com/forum/#!主题/综合。java。程序员/LOu18 OWAVM,但我想知道是否有一种方法可以在执行管道之前使用一些运行shell脚本的作业来实现这一点?

  • 我们正在部署一个新的Flink流处理作业,它的状态(存储)需要使用历史数据进行初始化,并且在开始处理任何新的应用程序事件之前,该数据应该在状态存储中可用。我们不想显着修改Flink作业以同时加载历史数据。我们考虑编写另一个单独的Flink作业来处理历史数据,更新其状态存储并创建一个Savepoint并使用此Savepoint在主Flink作业中初始化状态。看起来状态处理器API仅适用于DataSe

  • 我正在运行数据流作业从气流。我需要说我是气流的新手。数据流(从气流运行)正在成功运行,但我可以看到气流在获得工作状态时遇到了一些问题,我收到了无限的消息,比如: 谷歌云数据流作业尚不可用。。 以下是将所有步骤添加到数据流后的日志(我将{project ectID}和{jobID}放在它所在的位置): 你知道这是什么原因吗?我找不到与此问题相关的任何解决方案。我应该提供更多信息吗? 这是我在DAG中

  • 问题内容: 我目前正在开发一个涉及在Rails服务器上同步联系人的应用程序。我正在使用Redis服务器和sidekiq在后台执行联系人同步。我的数据库是mongodb,我正在使用Mongoid gem作为ORM。工作流程如下: 电话上的联系人通过应用程序传递到Rails服务器,然后在Rails服务器上,它在Redis服务器中排队。 现在,cron作业会触发连接到Redis的sidekiq并完成作业

  • Hibernate Utils正在创建带有Hikari配置的会话工厂。目前我们正在做@Setup方法的ParDo,但它打开了太多的连接。那么有没有什么好的例子来初始化每个工作人员的连接池呢?

  • 我想运行一个Python谷歌云数据流作业与自定义Docker图像。 根据文件,这应该是可能的:https://beam.apache.org/documentation/runtime/environments/#testing-自定义图像 为了尝试此功能,我使用此公共repo中的文档中的命令行选项设置了基本wordcount示例管道https://github.com/swartchris8/b