如何遍历 Flink DataStream 中的每条消息?
How do I iterate over each message in a Flink DataStream?
我有一个来自 Kafka 的消息流,如下所示
DataStream<String> messageStream = env
.addSource(new FlinkKafkaConsumer09<>(topic, new MsgPackDeserializer(), props));
如何遍历流中的每条消息并对其进行处理?我在 DataStream
上看到了一个 iterate()
方法,但它没有 return 和 Iterator<String>
.
我认为您正在寻找 MapFunction
。
DataStream<String> messageStream = env.addSource(
new FlinkKafkaConsumer09<>(topic, new MsgPackDeserializer(), props));
DataStream<Y> mappedMessages = messageStream
.map(new MapFunction<String, Y>() {
public Y map(String message) {
// do something with each message and return Y
}
});
如果您不想为每条传入消息仅发出一条记录,请查看 FlatMapFunction
。
我有一个来自 Kafka 的消息流,如下所示
DataStream<String> messageStream = env
.addSource(new FlinkKafkaConsumer09<>(topic, new MsgPackDeserializer(), props));
如何遍历流中的每条消息并对其进行处理?我在 DataStream
上看到了一个 iterate()
方法,但它没有 return 和 Iterator<String>
.
我认为您正在寻找 MapFunction
。
DataStream<String> messageStream = env.addSource(
new FlinkKafkaConsumer09<>(topic, new MsgPackDeserializer(), props));
DataStream<Y> mappedMessages = messageStream
.map(new MapFunction<String, Y>() {
public Y map(String message) {
// do something with each message and return Y
}
});
如果您不想为每条传入消息仅发出一条记录,请查看 FlatMapFunction
。