【发布时间】:2016-08-02 19:51:31
【问题描述】:
我们正在通过流式源在该计算模型中构建相当复杂的 Dataflow 作业。特别是,我们有两个模型共享一堆指标,并且根据大致相同的数据源进行计算。 这些作业在稍大的数据集上执行连接。
您对如何设计此类工作有任何指导方针吗?为了做出决定,我们必须考虑哪些指标、行为或任何事情?
以下是我们想到的几个选项以及我们如何比较它们:
选项 1:一项大型工作
在一项大型工作中实现所有内容。考虑通用指标,然后计算模型特定指标。
优点
- 写起来更简单。
- 作业之间没有依赖关系。
- 计算资源更少?
缺点
- 如果一个部分损坏,则两个模型都无法计算。
选项 2:使用 Pub/Sub 管道传输多个作业
将通用指标计算提取到专用作业中,从而产生 3 个作业,使用 Pub/Sub 连接在一起。
优点
- 在模型作业之一失败的情况下更具弹性。
- 可能更容易执行ongoing updates。
缺点
- 需要启动所有作业才能拥有完整的管道:依赖管理。
【问题讨论】: