欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Spark总结

Spark总结

2025/4/28 19:07:13 来源:https://blog.csdn.net/2302_80567373/article/details/147561208  浏览:    关键词:Spark总结

概念:

Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎

  • Spark 

Spark 是一种由 Scala 语言开发的快速、通用、可扩展的大数据分析引擎 

Spark Core 中提供了 Spark 最基础与最核心的功能 

Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。

Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API

Spark核心模块

(一)Spark Core​

Spark Core 是 Spark 的基础核心,除了提供任务调度、内存管理、数据分发等基本功能外,还包含了 RDD 的核心实现。它是整个 Spark 生态系统的基石,其他组件如 Spark SQL、Spark Streaming 等都是基于 Spark Core 构建的。Spark Core 支持在不同的集群资源管理器上运行,具备良好的扩展性和兼容性,能够满足各种规模的大数据处理任务需求

(二)Spark SQL​

Spark SQL 主要用于处理结构化数据,支持标准的 SQL 查询语法以及基于 DataFrame 和 Dataset 的编程接口。它可以将 SQL 查询转换为底层的 RDD 操作进行执行,同时支持与 Hive 的元数据交互,能够读写 Hive 表数据,实现 Hive 与 Spark 的无缝集成

Spark SQL 具备强大的查询优化能力,通过 Catalyst 优化器对 SQL 语句进行语法分析、逻辑优化和物理优化,生成高效的执行计划。此外,它还支持多种数据源,包括 JSON、CSV、Parquet 格式的数据文件,以及关系型数据库,方便用户从不同数据源读取和写入结构化数据

(三)Spark Streaming​

Spark Streaming 是 Spark 的实时流处理组件,采用离散化流(Discretized Stream,DStream)的抽象概念,将连续的流数据分割成一个个小的批次(batch)进行处理,每个批次数据可看作一个 RDD。虽然 Spark Streaming 处理的是流数据,但本质上仍然基于 Spark Core 的批处理机制,这种设计使得 Spark Streaming 能够利用 Spark 的诸多优化技术和生态组件。​

在实际应用中,Spark Streaming 可以对接多种数据源,如 Kafka、Flume 等,实时接收数据并进行处理。支持的操作包括窗口操作(如滑动窗口计算)、状态操作(如维护聚合状态)等,广泛应用于实时监控、实时日志分析、实时推荐等领域

(四)Spark MLlib

MLlib 是 Spark 提供的一个机器学习算法库。MLlib 不仅提供了模型评估、数据导入等额外的功能,还提供了一些更底层的机器学习原语

(五)Spark GraphX

GraphX 是 Spark 面向图计算提供的框架与算法库

RDD

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合

特性:弹性;分布式;数据集;数据抽象;不可变;可分区、并行计算

RDD序列化:

1、闭包检查

2、序列化方法和属性

3、Kryo序列化框架

RDD依赖关系

1)RDD血缘关系

2)RDD依赖关系

3)RDD窄依赖

4)RDD宽依赖

5)RDD阶段划分

6)RDD任务划分

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词