我有批处理项目,希望在5台机器上集群。 假设我输入源是具有1000条记录的数据库。 我想平均分割这些记录,即200个记录/批处理作业实例。
我们如何分配工作量?
答案 0 :(得分:0)
如下所示,是您可能想要遵循的工作流程。
<强>假设:强>
<强>设计强> 在应用程序中,
DBReader中的逻辑
queueReader中的逻辑
逐一阅读消息
对于每条现有消息,请进行必要的处理。
创建resultObject
queueWriter中的逻辑
读取resultObject(通常批处理框架提供了一种方法) 确保作者能够阅读读者的输出
如果需要任何适用的处理或下游互动, 把它添加到这里。
将结果对象写入outputQueue。
<强>部署强>
打包一次,部署多个实例。为了获得更好的性能,请确保chunkSize较小以实现快速处理。队列由消息传递系统(市场上可用的系统提供监视队列的方法)管理,您可以在其中查看消息流。