返回列表 发新帖

kafkawriter_Scala样例代码

[复制链接]

10

主题

20

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2024-8-22 15:33:10  | 显示全部楼层 | 阅读模式
kafkawriter_Scala样例代码是一段使用Apache Kafka的Scala编程语言编写的示例代码。该代码演示了如何使用Kafka生产者将消息发送到Kafka集群中的特定主题。它包括创建生产者实例、定义要发送的消息以及调用send方法将消息发送到Kafka集群的过程。
KafkaWriter 是一个用于将数据写入 Kafka 的 Scala 类,以下是一个简单的 KafkaWriter 样例代码,包括创建 KafkaWriter 实例、配置参数以及发送消息的方法。

zbhjijwkosdqinp.png

zbhjijwkosdqinp.png


(图片来源网络,侵删)

import java.util.Properties
import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}
class KafkaWriter(brokers: String, topic: String) {
  private val props = new Properties()
  props.put("bootstrap.servers", brokers)
  props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
  props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
  private val producer = new KafkaProducer[String, String](props)
  def sendMessage(key: String, value: String): Unit = {
    val record = new ProducerRecord[String, String](topic, key, value)
    producer.send(record)
  }
  def close(): Unit = {
    producer.close()
  }
}
object KafkaWriterExample {
  def main(args: Array[String]): Unit = {
    val kafkaWriter = new KafkaWriter("localhost:9092", "testtopic")
    // 发送消息
    kafkaWriter.sendMessage("key1", "value1")
    kafkaWriter.sendMessage("key2", "value2")
    // 关闭生产者
    kafkaWriter.close()
  }
}
在这个示例中,我们首先导入了所需的 Kafka 相关类,我们创建了一个名为KafkaWriter 的类,它接受两个参数:brokers(Kafka 集群地址)和topic(要写入的主题)。
在KafkaWriter 类中,我们定义了一个名为props 的属性对象,用于存储 Kafka 生产者的配置信息,我们创建了一个名为producer 的 KafkaProducer 实例,并使用props 作为配置参数。
我们还定义了一个名为sendMessage 的方法,该方法接受一个键和一个值作为参数,并将它们封装在一个ProducerRecord 对象中,我们使用producer.send() 方法将记录发送到 Kafka。
我们定义了一个名为close 的方法,用于关闭 KafkaProducer 实例。
在KafkaWriterExample 对象中,我们创建了一个KafkaWriter 实例,并向其发送了两条消息,我们调用close 方法关闭生产者。


zbhj4byq3qquwyy.jpg

zbhj4byq3qquwyy.jpg


(图片来源网络,侵删)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表