3.7 小结
RDD 是 Spark 中基本的数据单元,Spark 编程就是围绕创建和执行 RDD 上的操作(如变换和动作)进行的。Apache Spark 程序可以在 shell 中交互式执行或通过提交应用程序来执行。它的并行度是由 RDD 中的分区数量决定的。而分区的数量则由 HDFS 文件中的区块数或资源管理器的类型以及用于非 HDFS 文件的配置属性决定。
在内存中缓存 RDD 对于在同一 RDD 上执行多个动作是有用的,因为它提供了更高的性能。当使用 MEMORY_ONLY选项缓存 RDD 时,没有放入内存中的分区将在需要时重新计算。如果重新计算的开销比较大,最好还是选择 MEMORY_AND_DISK 作为持久化的级别。
Spark 的应用程序可以在客户端或集群模式下提交。客户端模式用于开发和测试,而集群模式用于生产部署。Spark 有三种不同的资源管理器可供选择:Standalone、Yarn 和 Mesos。对集群资源管理器的选择取决于资源共享和预期性能的级别。在所有情况下,Spark 默认的 Standalone 资源管理器都会提供更高的性能,因为它的调度成本低。
下一章将使用 Spark SQL、DataFrame和 Dataset来介绍大数据分析。