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 中如何使用 Hive

Zeppelin, Livy, 我可以得到 proxyUser

如何在 Zeppelin 中使用 Plotly

在 Zeppelin 中如何使用 Hive

Zeppelin:如何在 zeppelin 中重新启动 sparkContext

如何:Zeppelin + boto3 + AWS 凭证