Kafka Spark (Producer)相关API(将数据存入指定分区)

这篇博客介绍了如何使用Java实现Kafka Producer,通过`KafkaProducer`发送消息到'reback'主题,并将值按指定分区存储。配置了bootstrap服务器地址和序列化器,展示了100次循环发送记录的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

object MyProducer extends App {
    //配置
    val properties = new Properties()
    properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"master:9092,slave1:9092,slave2:9092")
    properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,classOf[StringSerializer].getName)
    properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,classOf[StringSerializer].getName)
    //创建生产者
    val kafkaProducer = new KafkaProducer[String,String](properties)
    for (i <- 0 to 100) {
      kafkaProducer.send(new ProducerRecord("reback", 3,"", "" + i),new Callback {
        //将值存入指定的分区里面 topic = "reback",partition = 3,key = "",value = "" + i
        override def onCompletion(recordMetadata: RecordMetadata, e: Exception): Unit = {
          if (e == null)
            println("主题:" + recordMetadata.topic() + "分区:" + recordMetadata.partition() + "值长度:"
              + recordMetadata.serializedValueSize())//serializedValueSize:返回序列化后值得长度
          else e.printStackTrace()
        }
      })
    }
    kafkaProducer.close();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值