即使发布订阅队列不断增加(现在有100k未送达消息),我使用的流数据流job(2017-09-08_03_55_43-9675407418829265662
)Apache Beam SDK for Java 2.1.0
也不会超过1个Worker-您有什么想法吗?
目前与autoscalingAlgorithm=THROUGHPUT_BASED
和一起运行maxNumWorkers=10
。
数据流工程师在这里。我在后端查看了该工作,发现它没有扩大规模,因为CPU利用率低,这意味着其他一些因素会限制管道的性能,例如外部限制。在这些情况下,升级很少有帮助。
我发现某些捆绑包可能要花费数小时才能处理。我建议调查您的管道逻辑,看看是否还有其他可以优化的部分。
当我在GCP中运行作业时,这工作很好,但如果没有任何更新,它将失败。如果我删除update标志,只要没有正在运行的作业,它就可以正常工作。 是否有一种方法来指定,如果作业存在,则更新它,而不仅仅是开始一个新的作业?
我正在尝试扩展com.day.cq.dam.core.process.ThumbnailProcess类。 我使用的是Java JDK 1.8.0_65、Maven 3.0.5和Adobe AEM6.1 当我编译代码时,我会得到以下错误: [错误]无法在项目my.pack.common.process上执行目标org.apache.felix:maven-scr-plugin:1.20.0:scr
在设计和开发扩展包时,我们总是希望扩展包在我们给予一定的输入时,完成特定的工作并返回结果。这个过程可以由以下几种工作模式来完成: 入口程序完成全部工作 如果我们的插件不需要任何用户输入,而且只要一次性的执行一些主进程逻辑,我们可以将所有工作放在 main.js 的 load 生命周期回调里: // main.js module.exports = { load () { let fs
在我当前的架构中,多个数据流作业在不同阶段被触发,作为ABC框架的一部分,我需要捕获这些作业的作业id作为数据流管道中的审计指标,并在BigQuery中更新它。 如何使用JAVA从管道中获取数据流作业的运行id?有没有我可以使用的现有方法,或者我是否需要在管道中使用google cloud的客户端库?
读完这个问题后,我仍然对DataFlow/Apache Beam如何分配工作负载有一些疑问。我遇到的问题可以用下面的代码演示: 比较使用1个worker和5个worker时的最大吞吐量,而不是后者的效率高5倍,它只是稍微高一点。这让我对以下问题产生了疑问: 假设每个工作线程使用4个vCPU,那么每个线程是否绑定到特定的DoFn,或者如果需要提高性能,可以在给定时刻对所有线程调用相同的DoFns?
我正在学习使用可拆分DOFN。我预计我的工作将分配给500名员工,但Dataflow只运行了1或2名员工。我是否错误地理解或实现了可拆分DoFn? 我的beam版本是2.16.0