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可将数据写入外部系统 。

相关推荐
用户3610588626121 小时前
Spark 核心之 Standalone-Cluster 模式:原理、流程与源码级深度拆解
spark
java1234_小锋9 小时前
【免费】基于Spark实时金融交易风险监控与预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·金融交易风险监控与预测
阿里云大数据AI技术1 天前
EMR Serverless Spark 基于 MinHash-LSH 实现 PB 级文本语义去重 4 倍加速
大数据·人工智能·spark
牛奶咖啡131 天前
大数据Hadoop运维应用实践——Spark与hadoop集群的整合_独立模式下Spark集群的安装部署
大数据·spark·spark是什么?有啥用?·spark的优缺点·spark的适用与不适用场景·独立模式下的spark集群部署·启动并测试spark集群
BD_Marathon4 天前
Spark数据源
大数据·ajax·spark
BD_Marathon4 天前
Dataset
spark
java1234_小锋6 天前
【免费】基于Spark实时电商用户行为分析与预测(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·spark·kafka·实时电商用户行为分析与预测系统
abcy0712138 天前
spark核心组件
flink·spark
极光代码工作室10 天前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
Leo.yuan11 天前
数据仓库建设怎么做?从源数据到分析报表全流程讲清
大数据·分布式·spark