Apache Beam GroupByKey.create() 在 FlinkRunner 上的可迭代输出类型
创始人
2024-11-10 00:30:37
0

在Apache Beam中,使用GroupByKey.create()对PCollection进行分组操作,可以在FlinkRunner中使用Iterable输出类型。下面是一个示例代码:

import org.apache.beam.runners.flink.FlinkRunner;
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.coders.SerializableCoder;
import org.apache.beam.sdk.options.PipelineOptions;
import org.apache.beam.sdk.options.PipelineOptionsFactory;
import org.apache.beam.sdk.transforms.Create;
import org.apache.beam.sdk.transforms.GroupByKey;
import org.apache.beam.sdk.values.KV;
import org.apache.beam.sdk.values.PCollection;

import java.util.Arrays;
import java.util.List;

public class GroupByKeyExample {
  public static void main(String[] args) {
    // 创建PipelineOptions
    PipelineOptions options = PipelineOptionsFactory.create();
    options.setRunner(FlinkRunner.class);

    // 创建Pipeline
    Pipeline pipeline = Pipeline.create(options);

    // 创建PCollection
    List> data = Arrays.asList(
        KV.of("key1", 1),
        KV.of("key1", 2),
        KV.of("key2", 3),
        KV.of("key2", 4)
    );
    PCollection> input = pipeline.apply(Create.of(data).withCoder(SerializableCoder.of(KV.class)));

    // 使用GroupByKey进行分组操作
    PCollection>> output = input.apply(GroupByKey.create());

    // 输出结果
    output.apply("Print", new PrintIterableFn<>());

    // 运行Pipeline
    pipeline.run().waitUntilFinish();
  }

  // 打印Iterable的函数
  public static class PrintIterableFn extends org.apache.beam.sdk.transforms.DoFn {
    @ProcessElement
    public void processElement(ProcessContext c) {
      System.out.println(c.element());
    }
  }
}

在上面的示例中,我们首先创建了一个包含键值对的输入数据。然后,我们创建了一个PCollection对象,并应用了GroupByKey.create()操作来对数据进行分组。最后,我们使用自定义的PrintIterableFn函数来打印分组后的结果。请确保在运行此代码之前已正确配置FlinkRunner。

相关内容

热门资讯

透视透视!红龙poker辅助,... 透视透视!红龙poker辅助,wepoker破解器有用吗(详细辅助2025新版教程)1、下载好红龙p...
wepoke辅助技巧!德扑之星... 自定义wepoke辅助技巧系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,...
透视辅助!wepoker底牌透... 透视辅助!wepoker底牌透视脚本app,wpk透视工作室(详细辅助软件教程);1、这是跨平台的w...
德州之星有外挂!wepoke软... 1、德州之星有外挂!wepoke软件规律(透视)果然真的有挂(详细辅助大神讲解);代表性(透视辅助软...
透视app!aapoker透视... 透视app!aapoker透视脚本安装包,约局吧如何查看是否有挂(详细辅助技巧教程);1、aapok...
aapoker辅助!wpk怎么... 1、aapoker辅助!wpk怎么玩胜率高(透视)真是存在有挂(详细辅助2025版教程);代表性(透...
透视教学!wpk透视辅助方法,... 透视教学!wpk透视辅助方法,hhpoker软件靠谱吗(详细辅助大神讲解);1、任何wpk透视辅助方...
wepoke插件!wepork... wepoke插件!wepork私人局有挂吗(透视)都是是有挂(详细辅助高科技教程);无聊就玩这款we...
德扑之星有猫腻!aapoker... 德扑之星有猫腻!aapoker德州线上扑克(透视)一直存在有挂(详细辅助可靠教程)1、许多玩家不知道...
透视总结!wepoker底牌透... 透视总结!wepoker底牌透视脚本,wepoker透视脚本下载(详细辅助2025新版)该软件可以轻...