- 1.所需依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka-0.11_2.11</artifactId>
<version>1.9.0</version>
</dependency>
- 2.获取kafkaSink
/**
* 生成 FlinkKafkaProducer 用于发送数据
*/
private static FlinkKafkaProducer011<String> generateKafkaProducer() {
// 创建FlinkKafkaProducer
FlinkKafkaProducer011<String> kafkaProducer011 = new FlinkKafkaProducer011<>(
"192.168.19.10:9092", "sun", new SimpleStringSchema()
);
// 自定义序列化 - 示例
/*
new KeyedSerializationSchema<String>() {
@Override
public byte[] serializeKey(String element) {
// 可以直接为null,也可以为String编码
return null;
}
@Override
public byte[] serializeValue(String element) {
// 编码String为byte[]
return element.getBytes(StandardCharsets.UTF_8);
}
@Override
public String getTargetTopic(String element) {
// 由源码可知,此处优先级最高,FlinkKafkaProducer011中传的topicid是默认值
// 可以在此决定不同的数据发往到不同的topic
return null;
}
};
*/
return kafkaProducer011;
}