请教一下为什么用用kafka的client可以正常消费数据,但是用flink消费kafka就报错?

请教一下为什么用用kafka的client可以正常消费数据,但是用flink消费kafka就报错? 0283f9dafebebea06c4527d79e7da896.png 20686f15f4e909553fa18d97527fe66d.png

展开
收起
爱喝咖啡嘿 2022-12-20 16:28:57 350 分享 版权
1 条回答
写回答
取消 提交回答
  • 使用Flink消费kafka内的数据

    package com.shujia.flink.kafka
    
    import java.util.Properties
    
    import org.apache.flink.api.common.serialization.SimpleStringSchema
    import org.apache.flink.streaming.api.scala._
    import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer
    
    object Demo1KafkaSource {
      def main(args: Array[String]): Unit = {
        //创建flink环境
        val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
    
        val properties = new Properties()
        //broler地址列表
        properties.setProperty("bootstrap.servers", "master:9092,node1:9092,node2:9092")
        //消费者组,同一条数据在一个组内只处理一次
        properties.setProperty("group.id", "test")
    
        //创建消费者
        val flinkKakfaConsumer = new FlinkKafkaConsumer[String](
          "words", //指定topic
          new SimpleStringSchema(), //指定数据格式
          properties //指定配置文件对象
        )
    
        flinkKakfaConsumer.setStartFromEarliest() //尽可能从最早的记录开始
        //flinkKakfaConsumer.setStartFromLatest() //从最新的记录开始
        //flinkKakfaConsumer.setStartFromTimestamp() //从指定的时间开始(毫秒)
        //flinkKakfaConsumer.setStartFromGroupOffsets()  //默认的方法, 按照消费者组读取数据,如果消费者组第一次使用,默认只读取最新的数据
    
        //使用kafka source   -- 无界流
        val kafkaDS: DataStream[String] = env.addSource(flinkKakfaConsumer)
        kafkaDS
          .flatMap(_.split(","))
          .map((_, 1))
          .keyBy(_._1)
          .sum(1)
          .print()
    
        env.execute()
      }
    }
    
    
    2022-12-20 23:40:36
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理