在本章中,将讨论如何将Apache Kafka与Spark Streaming API集成。
Spark是什么?
Spark Streaming API支持实时数据流的可扩展,高吞吐量,容错流处理。 数据可以从Kafka,Flume,Twitter等许多来源获取,并且可以使用复杂算法进行处理,例如:映射,缩小,连接和窗口等高级功能。 最后,处理后的数据可以推送到文件系统,数据库和现场仪表板上。 弹性分布式数据集(RDD)是Spark的基础数据结构。 它是一个不可变的分布式对象集合。 RDD中的每个数据集都被划分为逻辑分区,这些分区可以在集群的不同节点上进行计算。
与Spark整合
Kafka是Spark流媒体的潜在消息传递和集成平台。 Kafka充当实时数据流的中心枢纽,并使用Spark Streaming中的复杂算法进行处理。 数据处理完成后,Spark Streaming可以将结果发布到HDFS,数据库或仪表板中的另一个Kafka主题中。 下图描述了概念流程。
现在,详细介绍一下Kafka-Spark API。
SparkConf API
它代表Spark应用程序的配置。 用于将各种Spark参数设置为键值对。
SparkConf类具有以下方法 –
set(string key, string value)
− 设置配置变量。remove(string key)
− 从