将数据写到kafka的topic


package test05

import java.util.Properties
import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

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

val conf = new SparkConf().setAppName("ReadS3LogToKafka").setMaster("local[*]")
val sc = new SparkContext(conf)
val logData:RDD[String] = sc.textFile("/Users/huiliyang/vwlog/")

//logData.collect().foreach(println(_))

writeToKafkaTopic(logData,"192.168.1.112:9092","huiliyang")

}

//写入数据到Kafka
def writeToKafkaTopic(lines: RDD[String], kafkaServer: String, kafkaTopic: String): Unit ={
val props = new Properties()
props.put("bootstrap.servers", kafkaServer)
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")


for (line <- lines) {
val producer = new KafkaProducer[String, String](props)
val record = new ProducerRecord(kafkaTopic, "key", line)
producer.send(record)
//Thread.sleep(10000)
producer.close()
}
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM