Fink 写数据到kafka (kafka sink)

POM 文件依赖:

    <dependencies>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-scala_2.11</artifactId>
            <version>1.10.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-scala -->
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-streaming-scala_2.11</artifactId>
            <version>1.10.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-connector-kafka-0.11_2.11</artifactId>
            <version>1.10.1</version>
        </dependency>
    </dependencies>

Kafka sink代码(从 netcat中读取数据)

package com.kpwong.sink

import org.apache.flink.api.common.serialization.SimpleStringSchema
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011

object KafkaSinkTest {
  def main(args: Array[String]): Unit = {

    val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
    env.setParallelism(1)

    val socketDS: DataStream[String] = env.socketTextStream("hadoop202",9999)

    socketDS.addSink(new FlinkKafkaProducer011[String]("hadoop202:9092","two",new SimpleStringSchema()))
    //消费者 读取kafka数据命令
    //bin/kafka-console-consumer.sh --zookeeper hadoop202:2181 --from-beginning --topic two

    env.execute("Kafka Sink Test")
  }
}

运行结果:

输入数据:

 

 kafka 接受到的数据命令:

bin/kafka-console-consumer.sh --zookeeper hadoop202:2181 --topic two

 

posted @ 2020-12-06 10:32  kpwong  阅读(273)  评论(0编辑  收藏  举报