背景是:
项目通过大数据spark做模型的评估,评估代码为scala,评估的结果需要通过kafka消息队列进行中转,于是需要通过spark去连接kakfa队列,作为生产者像kafka队列中传送消息。
直接先上代码:
kafka生产者代码:
package com.tiger import java.util.Properties import org.apache.kafka.clients.producer.{KafkaProducer, ProducerConfig, ProducerRecord} import org.apache.kafka.common.serialization.StringSerializer /** * Kafka Producer */ class KafkaMsg(topic : String,msg :String) { def sendMsg() { val props = new Properties() //参数大家可以自己去找相关资料 props.put("metadata.broker.list", ":9092") props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "xx:9092") props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName) props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, classOf[StringSerializer].getName) props.put("producer.type","sync") val producer = new KafkaProducer[String