Spark论述及其作用
(一)Spark概述
Spark是一种基于内存的快速、通用、可拓展的大数据分析计算引擎。Hadoop是一个分布式系统基础架构。
(二)为什么我们需要Spark
它处理速快,提供了更加简洁、高层的编程模型,提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。
(三)Spark的运行模式
Spark集群大体上分为两种模式:单机模式(Local模式)与集群模式。
如果资源(cpu,内存)是当前单节点提供的,那么称之为单机模式。
如果资源(cpu,内存)是当前多节点提供的,那么称之为分布式模式。
大多数分布式框架都支持单机模式:就是运行在一台计算机上的模式,方便开发者调试框架的 运 行环境。但是在生产环境中,并不会使用单机模式。因此,后续直接按照集群模式部署Spark集群。
(四)Spark引擎特点
-
快速高效的计算引擎
采用内存计算和DAG(有向无环图)优化技术,相比传统MapReduce性能提升数十倍至百倍,适用于迭代算法和实时处理。 -
统一的多模式处理框架
支持批处理、实时流处理(微批及结构化流)、交互式查询、机器学习(MLlib)和图计算(GraphX),实现“一站式”大数据处理。 -
弹性分布式数据集(RDD)
核心数据抽象结构,具备自动容错(通过Lineage血缘追溯)、并行处理及内存持久化能力,支持复杂数据操作。 -
丰富的API与开发友好性
提供Scala、Java、Python、R等多语言API,以及高阶DataFrame/Dataset接口,简化代码编写,支持SQL、流式SQL等高级操作。 -
强大的生态系统与扩展性
包含Spark SQL(结构化数据)、MLlib(机器学习)、Spark Streaming(流处理)、GraphX(图计算)等组件,无缝集成Hadoop、Hive、Kafka等工具。 -
灵活部署与资源管理
可运行于独立集群、YARN、Kubernetes或Mesos,支持本地和云端环境,兼容HDFS、S3等多种存储系统,适应多样化基础设施需求。