apache flink-动态输出 key的SplitStream(Select)


0

这是 我的代码。

    SplitStream<MonitoringEvent> splitStream =  inputStream.split(new OutputSelector<MonitoringEvent>() {

@Override
public Iterable&lt;String&gt; select(MonitoringEvent me) {

    List&lt;String&gt; ml = new ArrayList&lt;String&gt;();              
    ml.add(me.getEventType());                              
    return ml;

}

我有随机顺序的监视事件流

使用上面的代码,我正在拆分流,按事件类型,即temperatureStream,pressureStream。

问题是,如果我知道事件类型,我可以从splitStream中选择它,就像

splitStream.select('temperatureStream')

但是eventType是动态的,不是预定义的。

我将如何为这个动态流应用CEP。如果

temperate is > 90 for past 10 minutes ...

pressure is > 90 for past 10 minutes ...

1 答案


0

如果我错了请纠正我,但我认为不可能对selectdue-flink的parallism进行动态查找。你的程序被翻译成flinks任务管理器的并行指令, job管理器协调这些动作。如果没有对抽象语法树的全面了解,就不可能应用parallism。。。也许你可以找到一些共同的属性,所有的消息都共享和不同于那里


我来回答

写文章

提问题

面试题