Spark内存计算与DAG执行引擎详解

需积分: 10 1 下载量 186 浏览量 更新于2024-09-07 收藏 34KB TXT 举报
"Spark讲义总结1主要涵盖了Spark的起源、特点、以及如何搭建Spark的单机模式。Spark设计的初衷是为了克服Hadoop在数据处理过程中频繁读写磁盘的低效问题,通过完全内存计算和DAG执行引擎显著提高了性能。Spark的特点包括使用Scala编写,基于Akka框架,采用DAG有向无环图进行计算,提供Cache机制和RDD(弹性分布式数据集)作为基础数据结构。此外,Spark的生态圈不断扩大,支持多种操作和语言,并可与HDFS和YARN集成。在单机模式下,可以通过修改配置文件并启动`spark-shell --master=local`来运行Spark。" Spark的核心设计理念是DAG(有向无环图),这种设计允许数据处理过程经过多个步骤的算子,而无需每次都把中间结果写回磁盘,从而减少了I/O操作,提高了计算效率。DAG的有向性确保了计算顺序,无环则避免了可能的死循环情况。 RDD(弹性分布式数据集)是Spark处理大数据的基础,它将大规模数据划分为多个分区,分布在集群的不同节点上,可以以一致的方式处理不同类型的任务。RDD具有容错性,一旦创建,其状态就会被持久化,可以通过Cache机制将其存储在内存中,加快后续的重复访问。 Spark生态圈包括Spark Core(核心功能)、Spark SQL(用于结构化数据处理)、Spark Streaming(实时流处理)、GraphX(图计算)等,为各种大数据应用场景提供了丰富的工具。此外,Spark支持Java、Python和Scala等多种编程语言,增强了其通用性和易用性。 在部署方面,Spark可以利用HDFS作为数据存储,配合YARN作为资源管理框架,实现了与Hadoop生态的兼容。在单机模式下,只需简单的配置和命令行操作,就能在本地环境中快速启动Spark Shell进行测试和开发。 Spark通过其高效的设计和丰富的功能,已经成为大数据处理领域的重要工具,不仅提升了计算速度,还简化了开发者的工作流程。