开发者社区> 问答> 正文

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

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

展开
收起
毛毛虫雨 2021-12-06 15:25:48 849 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 Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载