时间:2019-06-23 21:03:20

标签: java apache-kafka apache-beam

我有一个PCollection<KV<String,String>> Pcol,我正在处理ParDo方法中的每个元素。我想根据条件将记录发布到pardo本身中的kafka主题。

我该怎么做?

PCollection<KV<String, String>> Pcol =pipeline.apply("Process Data", 
    ParDo.of(new DoFn<KV<String, String>, KV<String, String>>() {
        @ProcessElement
        public void processElement(ProcessContext c) throws IOException {
            String key = element.getKey();
            if(key==null)
            {//publish to a kafka topic}
        }
    })
);

1 个答案:

答案 0 :(得分:0)

在Beam中,接收器通常由ParDo实现。因此,您可以参考在Beam中如何实现Kafka接收器,以获取有关如何在ParDo中写入Kafka的想法。更具体地说,这两个类可能会有所帮助:12