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

Posted

技术标签:

【中文标题】如何减少谷歌数据流作业中的初始化和终止时间?【英文标题】:How to reduce the initialisation and termination time in google dataflow job? 【发布时间】:2018-03-24 10:19:09 【问题描述】:

我目前正在研究 POC,主要关注用于 ETL 处理的数据流。我使用 Dataflow 2.1 Java Beam API 创建了管道,初始化大约需要 3-4 分钟,终止也需要大约 1-2 分钟每次运行。但是,实际转换 (ParDo) 只需不到一分钟。此外,我尝试按照不同的方法运行作业,

在本地机器上运行作业 在 GCP 上远程运行作业 通过 Dataflow 模板运行作业

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

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

提前致谢!

【问题讨论】:

【参考方案1】:

据我所知,没有办法减少启动或拆卸时间。您不应将其视为瓶颈,因为作业的每次运行都独立于最后一次运行,因此您可以并行运行它们等。如果可以消除这种情况,您还可以考虑将其转换为流式管道完全是那个时代。

【讨论】:

以上是关于如何减少谷歌数据流作业中的初始化和终止时间?的主要内容,如果未能解决你的问题,请参考以下文章

减少谷歌地图成本计算,只能调用谷歌地图javascript api

如何让 JBoss/WildFly 在应用程序部署/初始化失败时自动终止?

作业9

合并复制如何初始化发布和订阅

在 VSO 发布时触发初始化网络作业

ios检测终止状态下的蓝牙状态变化