spark总结

Spark核心概念与数据结构

RDD基础:弹性分布式数据集RDD是Spark基本数据处理模型,具备弹性、分布式、数据集、数据抽象、不可变、可分区并行计算特性,其核心属性包括分区列表、计算函数、依赖关系、分区器、首选位置,在Yarn环境下与资源调度协同完成数据处理任务。

序列化与依赖:RDD涉及闭包检查、Kryo序列化等机制提升性能,其依赖关系有血缘关系、宽窄依赖,基于此划分DAG阶段和任务,不同任务层次存在1对n关系 。

持久化与分区:RDD可通过Cache和Checkpoint持久化数据,前者缓存于内存或磁盘,后者写入可靠文件系统,二者有切断血缘依赖、可靠性等方面的区别。Spark支持Hash、Range和自定义分区,分区器影响数据分区和Reduce个数。

文件操作:RDD能读取和保存text、sequence、object等格式文件,支持本地文件系统、HDFS等多种文件系统。

Spark Core编程

转换算子:RDD算子分Value、双Value和Key Value类型。Value类型算子如map、flatMap用于数据转换和扁平化处理;双Value类型算子用于集合间操作;Key - Value类型算子处理键值对数据,如分区、分组、聚合。

行动算子:行动算子触发实际计算,如reduce聚合元素、collect收集数据、foreach遍历操作等,还有count计数、first取首元素等功能。

累加器与广播变量:累加器聚合Executor端变量到Driver端,可自定义实现功能;广播变量高效分发只读对象,避免任务重复发送。

Spark SQL编程

基本操作:通过IDEA开发,创建SparkSession,支持SQL和DSL风格语法,可实现RDD、DataFrame和DataSet间转换。

自定义函数:UDF用于自定义数据转换,UDAF用于自定义聚合函数,有强弱类型实现方式,用于复杂数据处理。

数据读写:通用方式可加载和保存多种格式数据,Parquet是默认格式,JSON、CSV、MySQL数据处理各有特点,可通过JDBC与MySQL交互。

连接Hive:Spark SQL可连接内嵌或外部Hive,有多种使用方式,代码操作时需导入依赖、配置文件,可解决权限等问题。

Spark Streaming编程

DStream创建:可通过RDD队列、自定义数据源、Kafka数据源创建DStream。自定义数据源需继承Receiver,Kafka数据源当前常用DirectAPI,由计算Executor主动消费数据。

有状态转化与输出:有状态转化操作中,UpdateStateByKey跨批次维护状态,Window Operations基于窗口计算。DStream输出操作包括print、文件存储、foreachRDD等,foreachRDD可将数据写入外部系统 。

相关推荐
IT毕设梦工厂7 小时前
计算机毕业设计选题推荐:基于大数据的印度上市公司财务指标数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·信息可视化·spark·课程设计·大数据毕设项目
BYSJMG13 小时前
计算机毕业设计选题推荐:基于大数据的水质多指标关联分析与可视化的设计与实现,Spark 加 K-Means 做水质分群
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计
计算机源码社14 小时前
【大数据项目实战】基于Python数据挖掘的新能源车充电行为关联风险分析研究-基于Hadoop+Spark的电动汽车故障多维数据可视化
大数据·hadoop·python·数据挖掘·spark·毕业设计·课程设计
HanhahnaH15 小时前
Spark 任务如何实现幂等?
大数据·分布式·spark
乌恩大侠1 天前
【Sionna】docker build ubuntu cuda
ubuntu·docker·容器·spark·o-ru·ai-ran
BYSJMG2 天前
计算机毕设选题推荐:基于大数据的公共交通运营数据分析与可视化,Spark+K-Means聚类城市运营模式
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计
绿算技术3 天前
Solidigm联合绿算技术共同发布《面向 SOHO AI 推理的存储扩展方案》技术白皮书
人工智能·科技·算法·架构·spark
阿里云大数据AI技术3 天前
EMR Serverless Spark:CPU + GPU 异构计算使用指南
人工智能·spark·gpu
BYSJMG5 天前
计算机毕设选题做什么好?基于大数据的用户美食数据分析与可视化,PySpark预处理+ECharts大屏,含Isolation Forest异常检测算法
大数据·python·信息可视化·数据分析·spark·课程设计·美食
2601_962295995 天前
Spark 和 Kafka 实现 Python 大规模情感分析
python·spark·kafka·情感分析·大规模处理