如何提供Apache Flink DataStream

时间:2017-11-28 13:08:17

标签: apache-flink flink-streaming

我是Apache Flink的新手。我想创建一个DataStream并使用来自另一个系统的值来提供它。

我找到了如何添加“SourceFunctions”的示例,在该函数中我必须等待来自源的值并通过调用ctx.collect将这些值发布到Flink然后再次等待,它是轮询。

但我有一个数据源,当值到达时调用一个函数(异步)。所以,我想做的是:当这个异步调用发生时,我想把值放到Flink DataStream,Pseudo-Code:

mysystem.connect_to_values((value)=> {myflinkdatastream.put(value.toString)})

可以这样做吗?否则我必须在SourceFunction中执行我的连接和回调,然后用睡眠做一个循环,但我不想这样做...

我已经在Flink中看到了“外部数据访问的异步I / O”,但为此我仍然需要一个源流,它使用SourceFunctions(Poll / Loop)提供。

1 个答案:

答案 0 :(得分:0)

如果您不想在流媒体作业中添加SourceFunction,我建议使用Kafka或其他消息队列,您可以从异步源发送数据,并将Flink Streaming Job连接到消息队列

相关问题