zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C
    数论::整除分块
    洛谷P1262 间谍网络
    洛谷P1649 【[USACO07OCT]障碍路线Obstacle Course】
    HDU2066dijkstra模板题
    Captain Flint and Treasure
    CodeForces
    CodeForces
    HDU-1827
    HDU 1811
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15183037.html
Copyright © 2011-2022 走看看