我需要将聚合的结果填充到3个单独的接收器-映射中,其中更新逻辑略有不同。我试图将管道对象转换为DAG,并将另一条边添加到倒数第二个顶点,但它抛出了一个异常,即不允许多条出站边。有没有办法创建具有多个出站边的DAG?
发布于 2018-07-26 05:07:50
您应该能够将要排出的阶段分配给多个接收器,并将其赋给一个变量,然后使用不同的接收器对其重复调用drainTo()。
示例:
StreamStage<TimestampedEntry<..>> stage = pipeline.drawFrom(..)
.map(..)
.groupingKey(..)
.window(..)
.aggregate(counting());
stage.drainTo(Sinks.map("map1));
stage.drainTo(Sinks.map("map2")).如果您想使用DAG实现相同的效果,那么您需要使用Edge.from().to()构造将它们分配给不同的序号。但是,如果您已经开始使用管道,这应该是不必要的。
https://stackoverflow.com/questions/51527249
复制相似问题