开发者社区> 问答> 正文

Flink 读取 Kafka 多个 Partition 问题,如何解决

如题,请大佬解答*来自志愿者整理的flink

展开
收起
毛毛虫雨 2021-12-06 15:25:48 879 0
1 条回答
写回答
取消 提交回答
  • hi

    如果是要排查问题的话可以在消费 kafka 的时候通过 JSONKeyValueDeserializationSchema 来将数据的元数据(topic/parttion/offset)获取,这样可以排查你的数据到底来自哪些分区,这样你就不会再有困惑了。

    eg:

    env.addSource(new FlinkKafkaConsumer011<>( parameters.get("topic"), new JSONKeyValueDeserializationSchema(true), buildKafkaProps(parameters))) .flatMap(new FlatMapFunction<ObjectNode, ObjectNode>() { @Override public void flatMap(ObjectNode jsonNodes, Collector collector) throws Exception { System.out.println(jsonNodes.get("value")); System.out.println(jsonNodes.get("metadata").get("topic").asText());

    System.out.println(jsonNodes.get("metadata").get("offset").asText());

    System.out.println(jsonNodes.get("metadata").get("partition").asText()); collector.collect(jsonNodes); } }) .print();*来自志愿者整理的flink

    2021-12-06 16:00:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
任庆盛|Flink CDC + Kafka 加速业务实时化 立即下载
消息队列 Kafka 版差异化特性 立即下载
2019大数据技术公开课第五季—kafka 数据如何同步到 MaxCompute 立即下载