簡體   English   中英

任何人都可以在 Scala 中分享 Flink Kafka 示例嗎?

[英]Can anyone share a Flink Kafka example in Scala?

任何人都可以在 Scala 中分享 Flink Kafka(主要接收來自 Kafka 的消息)的工作示例嗎? 我知道 Spark 中有一個KafkaWordCount示例。 我只需要在 Flink 中打印出 Kafka 消息。 這真的很有幫助。

以下代碼展示了如何使用 Flink 的 Scala DataStream API 從 Kafka 主題中讀取數據:

import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer082
import org.apache.flink.streaming.util.serialization.SimpleStringSchema


object Main {
  def main(args: Array[String]) {
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    val properties = new Properties()
    properties.setProperty("bootstrap.servers", "localhost:9092")
    properties.setProperty("zookeeper.connect", "localhost:2181")
    properties.setProperty("group.id", "test")
    val stream = env
      .addSource(new FlinkKafkaConsumer082[String]("topic", new SimpleStringSchema(), properties))
      .print

    env.execute("Flink Kafka Example")
  }
}

與 Robert 添加的內容相反,下面是一段用於向 Kafka 主題發送消息的應用程序代碼。

import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}

object KafkaProducer {

  def main(args: Array[String]): Unit = {
    KafkaProducer.sendMessageToKafkaTopic("localhost:9092", "topic_name")
  }    

  def sendMessageToKafkaTopic(server: String, topic:String): Unit = {
    val props = new Properties()
    props.put("bootstrap.servers", servers)
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    val producer = new KafkaProducer[String,String](props)
    val record = new ProducerRecord[String,String](topic, "HELLO WORLD!")
    producer.send(record)
    producer.close()
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM