【发布时间】:2017-08-08 17:20:28
【问题描述】:
我所做的是读取来自 kafka 的 json 格式的消息。例如
{"a":1,"b":2}
然后我对该消息应用了过滤器,以确保a对应的值为1,b的值为2。最后,我想将结果流输出到下游的kafka。但是,我不知道为什么编译器会说类型不匹配。
我的代码如下:
val kafkaConsumer = new FlinkKafkaConsumer010(
params.getRequired("input-topic"),
new JSONDeserializationSchema(),
params.getProperties)
val messageStream = env.addSource(kafkaConsumer).rebalance
val filteredStream: DataStream[ObjectNode] = messageStream.filter(jsonNode => jsonNode.get("a").asText.equals("1")
&& jsonNode.get("b").asText.equals("2"))
filteredStream.addSink(new FlinkKafkaProducer010[Object](params.getRequired("output-topic"), new SimpleStringSchema, params.getProperties))
我参考flink kafka connector文档写kafka outstream代码: https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/connectors/kafka.html
【问题讨论】: