Spark Streaming整合Kafka有两种方式:Receiver和Direct方式
两种方式的区别?
Receiver方式:接收固定时间间隔的数据(放在内存中的),使用Kafka高级的API,自动维护偏移量,达到固定的时间才进行处理,效率低并且容易丢失数据。
Direct直连方式:相当于直接连接到Kafka的分区上,使用Kafka底层的API,效率高,需要自己维护偏移量。(常用)
(1)Receiver方式
编写程序实现Receiver方式连接(KafkaReceiverStreaming.scala)
package com.fyy.spark.streaming
import org.apache.spark.streaming.StreamingContext
import org.apache.spark.streaming.kafka.KafkaUtils
import org.apache.spark.{SparkConf, streaming}
/**
* @Title: KafkaReceiverStreaming
* @ProjectName SparkStreamingProject
* @Description: Spark Streaming对接kafka的Receiver方式
* @autho