Hazelcast Jet 多个出站边缘
Hazelcast Jet multiple outbound edges
我需要将聚合结果填充到 3 个单独的接收器 - 更新逻辑略有不同的地图。我试图将管道对象转换为 DAG,并将另一条边添加到倒数第二个顶点,但它引发了不允许多个出站边的异常。有什么方法可以创建具有多个出站边缘的 DAG?
您应该能够将要排放到多个接收器的阶段分配给一个变量,然后使用不同的接收器重复调用 drainTo()
。
示例:
StreamStage<TimestampedEntry<..>> stage = pipeline.drawFrom(..)
.map(..)
.groupingKey(..)
.window(..)
.aggregate(counting());
stage.drainTo(Sinks.map("map1));
stage.drainTo(Sinks.map("map2")).
如果您想使用 DAG API 实现相同的效果,那么您需要使用 Edge.from().to()
构造将它们分配给不同的 ordinals。但是,如果您已经开始使用管道,则没有必要这样做。
我需要将聚合结果填充到 3 个单独的接收器 - 更新逻辑略有不同的地图。我试图将管道对象转换为 DAG,并将另一条边添加到倒数第二个顶点,但它引发了不允许多个出站边的异常。有什么方法可以创建具有多个出站边缘的 DAG?
您应该能够将要排放到多个接收器的阶段分配给一个变量,然后使用不同的接收器重复调用 drainTo()
。
示例:
StreamStage<TimestampedEntry<..>> stage = pipeline.drawFrom(..)
.map(..)
.groupingKey(..)
.window(..)
.aggregate(counting());
stage.drainTo(Sinks.map("map1));
stage.drainTo(Sinks.map("map2")).
如果您想使用 DAG API 实现相同的效果,那么您需要使用 Edge.from().to()
构造将它们分配给不同的 ordinals。但是,如果您已经开始使用管道,则没有必要这样做。