Spark介绍

一、Spark的定位:计算引擎,不是存储系统

不是数据库,也不是HDFS那样的存储方案。

它是计算层:任务调度、内存管理、容错恢复、与存储系统交互、分布式数据集API等。

典型架构是:HDFS/Hive/HBase/S3等存储+Spark计算+YARN/K8s/Standalone等资源调度。

所以Spark常被理解为"大数据计算的操作系统/发动机",存储仍然沿用Hadoop生态。

spark可以先用一句话理解:它是一个面向大数据的通用分布式计算引擎,负责"算",不负责"存"。它最早是为了替代Hadoop中又慢又难用的MapReduce计算引擎而出现的;底层数据仍可放在HDFS、Hive、HBase等存储系统中,Spark把数据读出来,在集群上分布式计算,再把结果写回去或交给下游。

二、为什么Spark比MapReduce块?

核心不是简单"内存计算"四个字,而是:

DAG有向无环图计算模型:Spark回把一个作业拆成有依赖关系的阶段,尽量形成流水线执行。

减少不必要的shuffle:MapReduce很多操作要反复落盘,Spark的DAG调度可以在不涉及跨节点数据交换时,把中间结果放在内存中连续计算,减少磁盘IO。

但注意:Spark不是"所有数据都放内存、绝不落盘"。一旦涉及shuffle,比如groupBy、join、repartition,shuffle数据仍会写磁盘。内存计算是优势,不是万能。

通俗类比:MapReduce像每道工序做完都把半成品搬进仓库;Spark像流水线,能连续传递的就尽量在内存里传下去,但遇到必须跨车间交换物料时,还是得落地。

三、Spark的核心抽象:RDD及更高层API

RDD(弹性分布式数据集):Spark Core的核心抽象,表示分布在多个节点上的、不可变的、可分区的数据集,支持并行计算和容错。

后来Spark又提供了更易用的DataFrame/Dataset,尤其通过Spark SQL用SQL方式处理结构化数据。

你可以把RDD理解成"分布在集群上的一堆数据分区 + 一串计算操作",Spark通过血缘关系实现容错:某个分区丢了,可以按计算链重算。

四、Spark的内置模块

Spark Core:基础功能,任务调度、内存管理、错误恢复、存储交互、RDD API。

Spark SQL:处理结构化数据,支持SQL/HQL,支持Hive表、Parquet、JSON等数据源。

Spark Streaming:流式计算组件;现代Spark更常用Structured Streaming做流处理。

Spark MLlib:机器学习库、分类、回归、聚类、协同过滤、模型评估等。

集群管理器:Spark可以跑在Hadoop YARN、Apache Mesos、Spark Standalone上,现代也常跑在Kubernetes上。

五、Spark怎么在集群上跑?

典型运行结果包括:

Driver:负责解析程序、生成DAG、划分阶段、调度任务。

Executor:在worker节点上执行具体task,缓存数据,汇报结果。

Cluster Manager:如YARN、Standalone、K8s,负责分配资源。

DAGScheduler/TaskScheduler:DAGScheduler把作业切成stage,TaskScheduler把task分给executor。

所以Spark程序通常分两步理解:Driver端做逻辑计划和调度,Executor端做分布式执行。

六、Spark能干什么

它是一套通用引擎,常见用途包括:

批处理ETL:清洗、转换、聚合大规模数据。

交互式查询:用Spark SQL做数据仓库分析。

流处理:实时统计、实时风控、日志处理。

机器学习:特征处理、模型训练。

图计算:GraphX等图处理场景。

数据科学:PySpark、SparkR、Scala/Java API。

相关推荐
科创致远42 分钟前
第一代 e+SOP 盒子配显示器实测:物美价廉的产线可视化方案
大数据·网络·人工智能·信息可视化·计算机外设·制造·精益工程
成为你的宁宁1 小时前
【基于 SSH 与 JNLP 协议的 Jenkins 分布式构建方案】
分布式·jenkins
ruxshui1 小时前
Hadoop 生产运维实战手册
大数据·运维·hadoop
QYR-分析1 小时前
汽车可开启全景天窗:座舱舒适核心配置,智能化升级打开产品溢价空间
大数据·人工智能·汽车
Raas1001 小时前
2026年AI网关推荐?MAI Gateway(魔芋企业级AI网关)等主流方案横评
大数据·人工智能·ai·gateway·ai网关·mai gateway
泡干脆面就番茄2 小时前
Hive窗口函数:从原理到三大面试题
大数据·数据仓库·hive·hadoop
一个热爱拳击的玩家2 小时前
本地实体如何构建面向 AI 检索的信任链?以杭州拳击行业案例分析
大数据·人工智能·信任链
byte轻骑兵2 小时前
时序数据库选型指南:面向工业物联网大数据场景,Apache IoTDB落地实践
大数据·人工智能·物联网·时序数据库·人大金仓
墨神谕2 小时前
Elasticsearch 倒排索引底层原理详解:从 Term Dictionary、FST 到海量数据性能优化
大数据·elasticsearch·搜索引擎