ApacheBeam如何返回多个输出?
创始人
2024-09-05 12:00:11
0

在Apache Beam中,要返回多个输出,可以使用多路输出(MultiOutput)。

首先,需要创建一个新的PCollectionTuple对象,将每个输出分别命名。然后,在DoFn的processElement方法中,根据需要将每个元素添加到正确的输出中。

以下是创建具有两个输出的示例DoFn的示例代码:

public class MultipleOutputsDoFn extends DoFn {
  public static final TupleTag outputTag1 =
      new TupleTag(){};
  public static final TupleTag outputTag2 =
      new TupleTag(){};

  @ProcessElement
  public void processElement(ProcessContext c) {
    String element = c.element();
    if (condition1) {
      c.output(outputTag1, "output1_" + element);
    }
    if (condition2) {
      c.output(outputTag2, "output2_" + element);
    }
  }
}

在这个例子中,我们定义了两个TupleTag,用于标识两个不同的输出。在processElement方法中,我们可以根据某些条件向不同的输出添加元素。

在主管道中,可以使用配对和Map方法来处理这些输出。以下是一个使用具有两个输出的DoFn的示例管道:

PCollection input = ...;
TupleTag outputTag1 = ...;
TupleTag outputTag2 = ...;

PCollectionTuple outputs = input.apply(ParDo.of(new MultipleOutputsDoFn())
    .withOutputTags(outputTag1, TupleTagList.of(outputTag2)));

PCollection output1 = outputs.get(outputTag1);
PCollection output2 = outputs.get(outputTag2);

PCollection finalOutput =
    PCollectionList.of(output1).and(output2).apply(Flatten.pCollections());

在这个例子中,我们使用withOutputTags方法将两个TupleTag与DoFn配对,然后将它们作为PCollectionTuple输出。然后,我们使用PCollectionTuple.get方法来获得每个输出的

相关内容

热门资讯

一次性透视!aapoker破解... 一次性透视!aapoker破解侠是真的“推荐开挂辅助器”1、aapoker破解侠是真的系统规律教程、...
第一次性发现!指尖四川辅助脚本... 第一次性发现!指尖四川辅助脚本“解谜开挂辅助插件”亲,关键说明,指尖四川辅助脚本赛季回归,指尖四川辅...
六次性领会!指尖四川辅助脚本视... 六次性领会!指尖四川辅助脚本视频“揭幕开挂辅助教程”1、上手简单,内置详细流程视频教学,新手小白可以...
9次性普及!掌电竞技辅助器“解... 9次性普及!掌电竞技辅助器“解密开挂辅助插件”一、掌电竞技辅助器AI软件牌型概率发牌机制”必胜“技巧...
第8次性掌握!赣牌圈修改器“推... 第8次性掌握!赣牌圈修改器“推荐开挂辅助app”1、上手简单,内置详细流程视频教学,新手小白可以快速...
三次性了解!大菠萝789辅助“... 三次性了解!大菠萝789辅助“解迷开挂辅助神器”1、首先打开大菠萝789辅助最新版本,在大菠萝789...
第二次性私人局!欢聚水鱼神器“... 第二次性私人局!欢聚水鱼神器“曝光开挂辅助器”1、超多福利:超高返利,海量正版游戏,欢聚水鱼神器系统...
3次性理解!闲逸辅助软件“专业... 3次性理解!闲逸辅助软件“专业开挂辅助插件”闲逸辅助软件辅助器中分为三种模型:闲逸辅助软件软件透明挂...
第五次性掌握!皮皮游戏辅助工具... 第五次性掌握!皮皮游戏辅助工具“揭露开挂辅助教程”在进入皮皮游戏辅助工具辅助挂后,参与本局比赛的八名...
1次性晓得!沧海十三水私人局辅... 1次性晓得!沧海十三水私人局辅助器“分享开挂辅助器”沧海十三水私人局辅助器是一种具有地方特色的麻将游...