SparkStreaming与Kafka整合遇到的问题及解决方案
最近工作中是做日志分析的平台,采用了sparkstreaming+kafka,采用kafka主要是看中了它对大数据量处理的高性能,处理日志类应用再好不过了,采用了sparkstreaming的流处理框架 主要是考虑到它本身是基于spark核心的,以后的批处理可以一站式服务,并且可以提供准实时服务到elasticsearch中,可以实现准实时定位系统日志。 实现 Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式。 一. 基于Receiver方式 这种方式使用Receiver来获取数据。Receiver是使用Kafka的高层次Consumer API来实现的。receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据。代码如下: SparkConfsparkConf=newSparkConf().setAppName("log-etl").setMaster("local[4]"); JavaStreamingContextjssc=newJavaS...