python flink kafka_flink与kafka结合

1、概述

flink提供了一个特有的kafka connector去读写kafka topic的数据。flink消费kafka数据,并不是完全通过跟踪kafka消费组的offset来实现去保证exactly-once的语义,而是flink内部去跟踪offset和做checkpoint去实现exactly-once的语义

flink与kafka整合,相应版本对于的maven依赖如下表

maven依赖举例

1.7.0

2.11

2.11.12

org.apache.flink

flink-streaming-scala_${scala.binary.version}

${flink.version}

provided

2、代码整合

2.1、添加source:Kafka Consumer

flink利用FlinkKafkaConsumer来读取访问kafka, 根据kafka版本不同FlinkKafkaConsumer的类名也会变化,会变为FlinkKafkaConsumer

[08,09,10...]后面的数字就是对于的kafka的大版本号 。

初始化FlinkKafkaConsumer 需要如下参数

1、topic名字,用来指定消费一个或者多个topic的数据

2、kafka的配置信息,如zk地址端口,kafka地址端口等

3、反序列化器(schema),对消费数据选择一个反序列化器进行反序列化。

flink kafka的消费端需要知道怎么把kafka中消息数据反序列化成java或者scala中的对象。用户通过使用DeserializationSchema

你可能感兴趣的:(python,flink,kafka)