• FLINK基础(116): DS PROCESS FUNCTION (1) 侧输出 Side Outputs


    When using side outputs, you first need to define an OutputTag that will be used to identify a side output stream:

    // this needs to be an anonymous inner class, so that we can analyze the type
    OutputTag<String> outputTag = new OutputTag<String>("side-output") {};

    Notice how the OutputTag is typed according to the type of elements that the side output stream contains.

    Emitting data to a side output is possible from the following functions:

    You can use the Context parameter, which is exposed to users in the above functions, to emit data to a side output identified by an OutputTag. Here is an example of emitting side output data from a ProcessFunction:

    DataStream<Integer> input = ...;
    
    final OutputTag<String> outputTag = new OutputTag<String>("side-output"){};
    
    SingleOutputStreamOperator<Integer> mainDataStream = input
      .process(new ProcessFunction<Integer, Integer>() {
    
          @Override
          public void processElement(
              Integer value,
              Context ctx,
              Collector<Integer> out) throws Exception {
            // emit data to regular output
            out.collect(value);
    
            // emit data to side output
            ctx.output(outputTag, "sideout-" + String.valueOf(value));
          }
        });

    For retrieving the side output stream you use getSideOutput(OutputTag) on the result of the DataStream operation. This will give you a DataStream that is typed to the result of the side output stream:

    final OutputTag<String> outputTag = new OutputTag<String>("side-output"){};
    
    SingleOutputStreamOperator<Integer> mainDataStream = ...;
    
    DataStream<String> sideOutputStream = mainDataStream.getSideOutput(outputTag);

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15183037.html

  • 相关阅读:
    Cayley's Tree Formula & Prufer's Method
    POJ 2262:Goldbach's Conjecture
    The Sieve of Eratosthenes (素数筛选法)
    POJ 2244:Eeny Meeny Moo(稍加变形的约瑟夫问题)
    POJ 1595:Prime Cuts
    iframe标签的使用
    js笔记
    Asp.Net知识点
    Reapte控件的使用
    浮躁十年
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15183037.html
Copyright © 2020-2023  润新知