一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++
[第十章]Spark
概述
简介
基于内存计算的大数据并行计算框架
- 运行速度快
- 有向无环图
- 基于内存
- 容易使用
- 通用性
- 运行模式多样
Scala简介
多范式编程语言
- 强大突发性,支持函数编程
- 语法简介,提供API
- 兼容java
Hadoop与Spark对比
- 表达能力有限
- 磁盘I/O开销大
- 延迟高
Spark生态系统
Spark运行架构
基本概念
架构设计
基本流程
RDD的设计与原理
概念
分布式对象集合,是一个只读分区记录的集合
- 读入外部数据源进行创建
- RDD经过一系列“转换”每次生成不同RDD,共给下一个“转换”
- 最后一个RDD”行动“并输出
特性
- 高效的容错性
- 中间结果持久化到内存
- 存放数据可以是java
依赖关系
- 宽依赖
- 本质上就是Shuffle操作
- 窄依赖
- 一对一
- 多对一
阶段(stage)划分
根据RDD依赖关系,可以把一个作业划分多个阶段
- 窄依赖对作业优化更有利
- 因为宽依赖Shuffle后会不是每组都恰好完成,会有忙等
- 窄依赖本组执行完继续执行
- 反向解析,遇到宽依赖就断开stage,使得相邻的窄依赖放在一个stage
- ShuffleMapStage
- ResultStage
RDD运行过程
- 创建RDD对象
- SparkContext负责计算RDD之间依赖关系构建DAG
- DAGScheduler把DAG分成多个Stage每个stage包含多个任务,每个任务发给各个节点上的Executor执行
Spark部署和应用
部署方式
Prev
[第十章]JPA
Next
[第十一章]Spring框架核心基础
Loading...