第10章 运用Spark操作
在本章,我们将向读者介绍Spark动作、转换和共享变量,也会介绍Spark操作的基本原理,并解释在实际使用中选用Spark的必要性和实用性。
本章主要包括以下内容
- Spark——封装和API
- RDD语用探索
- 共享变量——广播变量和累加器
10.1 Spark——封装和API
现在读者已经熟悉了Spark的体系结构和基本数据流。在10.2节,我们将进一步让读者了解围绕Spark构建各种自定义解决方案时经常使用的编程范例和API。
众所周知,Spark框架是基于Scala开发的,但它也为开发人员提供了使用Scala、Python和Java API进行交互、开发和定制框架的工具。在下文的讨论中,将仅学习Scala和Java API。
Spark API可分为两大类:Spark内核和Spark扩展,如图10-1所示。
图10-1
可以看到,在高层次上,Spark代码库分为两个包。
- Spark扩展:特定扩展的所有API都封装在它们自己的包结构中。例如,与Spark 流相关的所有API都在
org.apache.spark.streaming.*
包中,其他扩展也有相同的包结构:Spark MLLib位于org.apache.spark.mllib.*中;Spark SQL位于org.apcahe.spark.sql.* 中;和Spark GraphX位于org.apache.spark.graphx.*中。 - Spark内核:Spark内核是Spark的核心,提供了两个基本组件—— ...
Get 实时数据处理和分析指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.