当前位置: 首页 > ds >正文

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 相关的原语。

http://www.xdnf.cn/news/2496.html

相关文章:

  • 多用户商城系统的三种形式:综合性、垂直型、社交型
  • MPI Code for Ghost Data Exchange in 3D Domain Decomposition with Multi-GPUs
  • ALTER TABLE 删除DROP表列的报错: 因为有一个或多个对象访问此列
  • 多通道示波器测量系统的工程实践与技术演进
  • Flink 时态维度表 Join 与缓存机制实战
  • (done) 吴恩达版提示词工程 8. 聊天机器人 (聊天格式设计,上下文内容,点餐机器人)
  • ppt流程图怎么?ppt流程图模板大全
  • 【C语言操作符详解(一)】--进制转换,原反补码,移位操作符,位操作符,逗号表达式,下标访问及函数调用操作符
  • 自动驾驶(ADAS)领域常用数据集介绍
  • 学习insightface 的人脸识别
  • 企业如何构建一个全面的Web安全防护体系
  • PDF处理控件Aspose.PDF指南:如何使用 C# 在 PDF 中搜索
  • STM32 定时器TIM
  • 重塑编程体验边界:明基RD280U显示器深度体验
  • redis常用集合操作命令
  • C#如何正确的停止一个多线程Task?CancellationTokenSource 的用法。
  • 泰迪杯实战案例超深度解析:运输车辆安全驾驶行为分析与安全评价系统设计
  • 基于边缘人工智能的AI无人机-更高效更安全的飞行任务执行
  • macos下mysql 5.7/8.0版本切换
  • 如何修复Chrome浏览器的“无法连接到互联网”错误
  • 14、服务端组件:未来魔法预览——React 19 RSC实践
  • 《代码整洁之道》第10章 类 - 笔记
  • 谢飞机的Java面试之旅:从Spring Boot到Kubernetes的挑战
  • 用Python做有趣的AI项目 3:黑白图像自动上色(AI 上色器)
  • 数智读书笔记系列031《HIS内核设计之道——医院信息系统规划设计系统思维》书籍简介与读书笔记
  • 【读写视频】MATLAB详细代码
  • 【Go语言】ORM(对象关系映射)库
  • flutter 选择图片 用九宫格显示图片,右上角X删除选择图片,点击查看图片放大缩小,在多张图片可以左右滑动查看图片
  • QT中的文件操作
  • 在CentOS 8上在线安装Docker