Spark学习全总结

基础概念

Spark 是一个快速、通用的大数据处理引擎,支持多种计算模式,如批处理、流处理、交互式查询和机器学习等。

特点:

速度快:基于内存计算,能将数据缓存在内存中,避免频繁读写磁盘,大幅提高处理速度。同时采用了先进的优化技术,如数据分区、推测执行等。

易用性高:支持多种编程语言,如Scala、Java、Python和R等,提供了丰富的API,方便用户进行开发。

通用性强:提供了多种高层组件,包括用于批处理的Spark SQL、用于流计算的Spark Streaming、用于机器学习的MLlib和用于图计算的GraphX等,能满足不同类型的大数据处理需求。

可扩展性好:能轻松扩展到大量的节点上,处理大规模的数据集,具有良好的容错机制,可自动处理节点故障。

与MapReduce比较:

基于内存计算,相较于 MapReduce 等传统框架,能显著提升数据处理速度,适合迭代计算。

拥有丰富的生态系统,包括 Spark SQL、Spark Streaming、MLlib(机器学习库)和 GraphX(图计算库)等组件。

核心组件:

RDD(弹性分布式数据集):Spark 的核心数据结构,是一个容错、并行的数据集合,可以进行各种转换(如 map、filter、join 等)和动作操作(如 collect、count、save 等)。

DAG(有向无环图):作业的逻辑执行计划,由 RDD 的一系列操作构建而成,Spark 会根据 DAG 对作业进行优化和调度。

Executor:运行在工作节点(Worker Node)上的进程,负责执行任务并处理数据。

Driver:程序的入口点,负责创建 SparkContext,协调各个工作节点,调度任务。

编程:

Scala :Scala 是 Spark 的主要编程语言之一,使用 Scala API 可以灵活地操作 RDD,实现复杂的数据处理逻辑。

SQL :Spark SQL 允许使用 SQL 语句进行数据查询和分析,支持与多种数据源(如 Hive)的集成。

Spark SQL:

功能:用于处理结构化数据,支持SQL查询和DataFrame、DataSet API,能与多种数据源(如Hive、JSON、Parquet等)进行交互,并提供了查询优化和执行计划生成等功能。

应用场景:适用于需要进行SQL风格的数据查询、分析和处理的场景,如商业智能报表、数据仓库查询等。

Spark Streaming:

用于处理实时流数据,将流数据分割成小的批次进行处理,实现近似实时的数据分析。

支持多种数据源,如 Kafka、Flume等,以及各种流处理操作,如窗口操作、状态管理等。

DStream转换:DStream 上的操作与 RDD 的类似,分为 Transformations(转换)和 Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种 Window 相关的原语。

相关推荐
2301_8090511428 分钟前
STM32 GPIO控制器及其应用 学习笔记-2
笔记·stm32·学习
厨房灭火专家33 分钟前
商用厨房防火的三十年进化,从灭火器到自动灭火
大数据·自动化
anxiao_m37 分钟前
2026教学AI云桌面横向测评!五大主流品牌实景能力对比
大数据·人工智能·机器学习
依然鸣1 小时前
蓝桥杯多校模拟赛(第二场)题解
数据结构·c++·经验分享·学习·算法·图论
依然鸣1 小时前
蓝桥杯多校模拟赛 题解
数据结构·c++·经验分享·学习·算法·蓝桥杯
中国搜索直付通1 小时前
游戏车机端支付通道,会是下一个被低估的合规战场吗?
java·大数据·开发语言·人工智能·游戏
LccKyI1 小时前
C# 零基础学习 Day01|基础概念梳理 + 思维导图总结
开发语言·笔记·学习·c#
2603_954708311 小时前
微能网协调控制箱的核心价值:让多种能源“协同作战”
大数据·运维·网络·人工智能·架构·能源
艾莉丝努力练剑2 小时前
【MYSQL】MYSQL学习的一大重点:视图
android·服务器·数据库·学习·mysql·面试·视图
智造ERP规划2 小时前
项目型制造财务核算全流程:收入什么时候确认、成本怎么归集、开票≠收款,一条链讲透
大数据·系统架构·软件工程·制造