Zeppelin:可以在 Zeppelin 中发送 Kafka 消息吗?
Posted
技术标签:
【中文标题】Zeppelin:可以在 Zeppelin 中发送 Kafka 消息吗?【英文标题】:Zeppelin : is it possible to send Kafka message in Zeppelin? 【发布时间】:2021-11-03 15:03:49 【问题描述】:我想知道是否可以直接在 Zeppelin 中发送 Kafka 消息? 我要启动的 Scala 脚本是这样的:
import org.apache.kafka.clients.producer.KafkaProducer, ProducerRecord
import org.apache.kafka.common.serialization.StringSerializer
val kafkaProducerProps: Properties =
val props = new Properties()
props.put("bootstrap.servers", "x.data.edh:6667")
props.put("key.serializer", classOf[StringSerializer].getName)
props.put("value.serializer", classOf[StringSerializer].getName)
props
val producer = new KafkaProducer[String, String](kafkaProducerProps)
producer.send(new ProducerRecord[String, String]("myTopic", keyMessage._1, keyMessage._2))
对我来说 Zeppelin 相当于一个 spark-shell,但我不确定我们是否可以在 Spark-shell 中发送 kafka 消息。
【问题讨论】:
【参考方案1】:您可以使用 Spark 结构化流向 Kafka 发送数据帧
https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html#writing-data-to-kafka
否则,要使用普通的 Kafka 生产者,请确保您只运行 Spark 执行器/驱动程序的一个实例,否则您将发送多个事件
【讨论】:
以上是关于Zeppelin:可以在 Zeppelin 中发送 Kafka 消息吗?的主要内容,如果未能解决你的问题,请参考以下文章
Zeppelin, Livy, 我可以得到 proxyUser