java向kafka发送数据_向Kafka中发送数据

本文展示了如何使用Java编程语言向Apache Kafka发送数据。通过创建一个简单的Java应用程序,配置KafkaProducer,设置bootstrap servers,指定key和value的序列化类,并在循环中发送消息到指定主题。
摘要由CSDN通过智能技术生成

---

import java.util.HashMap

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

object KafkaWordProducer {

def main(args: Array[String]): Unit = {

// 打包部署,需要使用如下代码

/*

if(args.length < 4){

System.err.println("Usage: KafkaWordProducer ")

System.exit(1)

}

val Array(brokers, topic, messagesPerSec, wordsPerMessage) = args

*/

//直接测试,使用如下代码

val Array(brokers, topic, messagesPerSec, wordsPerMessage) = Array("localhost:9092","test_topic","3","5")

//zookeeper连接设置

//必须是Object,否则 val producer = new KafkaProducer[String,String](props) 报错

val props = new HashMap[String, Object]()

props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, brokers)

props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer")

props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer")

val producer = new KafkaProducer[String,String](props)

//发送数据

while(true){

(1 to messagesPerSec.toInt).foreach{

messageNum =>

val str = (1 to wordsPerMessage.toInt).map(x=>scala.util.Random.nextInt(10)).mkString(" ")

println(str)

val message = new ProducerRecord[String,String](topic,null, str)

producer.send(message)

}

Thread.sleep(1000)

}

}

}

涉及到的POM.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.test

sparkTest

1.0-SNAPSHOT

2.1.0

2.11

org.apache.spark

spark-core_${scala.version}

${spark.version}

org.apache.spark

spark-streaming_${scala.version}

${spark.version}

org.apache.spark

spark-sql_${scala.version}

${spark.version}

org.apache.spark

spark-hive_${scala.version}

${spark.version}

org.apache.spark

spark-mllib_${scala.version}

${spark.version}

org.apache.spark

spark-streaming-kafka-0-8_2.11

2.1.0

org.apache.kafka

kafka-clients

2.2.2

org.scala-tools

maven-scala-plugin

2.15.2

compile

testCompile

maven-compiler-plugin

3.6.0

1.8

1.8

org.apache.maven.plugins

maven-surefire-plugin

2.19

true

---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值