package test01
import org.apache.kafka.clients.consumer.{ConsumerConfig, ConsumerRecord}
import org.apache.spark.SparkConf
import org.apache.spark.streaming.dstream.{InputDStream, ReceiverInputDStream}
import org.apache.spark.streaming.flume.{FlumeUtils, SparkFlumeEvent}
import org.apache.spark.streaming.kafka010.{ConsumerStrategies, KafkaUtils, LocationStrategies}
import org.apache.spark.streaming.{Seconds, StreamingContext}
object SparkkafkaDirectDemo extends App {
private val conf: SparkConf = new SparkConf().setAppName("flume01").setMaster("local[2]")
private val ssc = new StreamingContext(conf,Seconds(5))
val kafkaParams = Map(
(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG -> "192.168.106.107:9092"),
("key.deserializer"->"org.apache.kafka.common.serialization.StringDeserializer"),
("value.deserializer"-> "org.apache.kafka.common.serialization.StringDeserializer"),
(ConsumerConfig.GROUP_ID_CONFIG-> "testGroup")
)
private val message: InputDStream[ConsumerRecord[String, String]] = KafkaUtils.createDirectStream(ssc,
LocationStrategies.PreferConsistent,
ConsumerStrategies.Subscribe(Set("kb07"), kafkaParams)
)
message.map(x=>x.value()).flatMap(_.split("")).map((_,1)).reduceByKey(_+_)
ssc.start()
ssc.awaitTermination()
}
streaming从kafka中读数据
最新推荐文章于 2024-05-15 14:40:27 发布
本文展示了一个使用 Apache Spark Streaming 直接从 Kafka 消费消息的示例。通过配置 Spark 和 Kafka 参数,创建了直接流处理,实现了从指定主题 kb07 接收并处理消息的功能。此示例涵盖了 Spark 配置、Kafka 参数设置及消息处理流程。
343

被折叠的 条评论
为什么被折叠?



