Spark 原理_物理图_案例总结 | 学习笔记

简介: 快速学习 Spark 原理_物理图_案例总结

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段Spark 原理_物理图_案例总结】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/689/detail/12024


Spark 原理_物理图_案例总结


内容简介

一、数据的流动过程

二、DAG Stage 的生成

 

在此之前我们学习了阶段如何划分,接下来会运行一个小案例,对之前的内容进行一个总结,首先我们会了解数据是如何流动的,以及分析一个小案例,在集群运行完以后,会有怎样的结构。

 

一、数据是如何流动的

Val sc = ...

Val textRDD = sc.parallelize(Seq(Hadoop Spark,hadoop flume,spark sqoop))

Val splitRDD = textRDD.flatMap(_.split(“ “))

Val tupleRDD = splitRDD.map((_,1))

Val reduceRDD = tupleRDD.reduceByKey(_+_)

Val strRDD = reduceRDD.map(item => s${item._}, ${item._2})

strRDD collect.foreach(item = println(item)) // 调用了 strrdd collect 方法,通过 action 算子获取数据

str 中调用了 collect,说明 collect 只是从 str 中获取数据

Collect 获取的数据称为 result,观看一下整体的流程

上述代码是这个章节一直使用的代码流程,如下是其完整的逻辑执行图

image.png

1.过程有两个

1)从右到左,rdd 数据的索取

2)从左到右,rdd 数据的给予

首先从 srerdd 出发,调用它的算子去获取数据,相当于在向 strrdd 要数据,由于 strrdd 重视没有数据的,所以 strrdd 要获取数据计算,StrRDD 通过 reduceRDD 获取数据,经过 map 计算,变成 strRDD 中的数据

ReduceRDD 是通过 tupleRDD 获取数据,经过 reducebykey 过程(shuffle 过程),变成 reduceRDD 中的数据

Stage0是一个单独的阶段,要保证 tuplerdd 中是有数据的

2.总结

1)数据的计算发生在调用 action RDD

2ResultRDD 是没有数据的话,找父类 RDD 获取数据

3)父类 RDD 再向上获取数据

Textrdd 先拿到数据,两个过程,从左到右,一步步传递数据,从右到左,一步步向前要数据

数据的计算发生在 strRDD 上,最先获取数据的为 textRDD

Stage 的划分,是从后往前,stage0stage1

以上就是整个 stage 的划分,可以将它想象成水流,打开水龙的的时候,需要 result,水从源头处 HIDFS 流过来,是 result 先需要水,这个时候水就从源头处流过来,经过 textrdd 的处理,splitrdd 的处理,tuplerdd 的处理,在tuplerdd reducerdd 之间建了一个水库,将数据传入水库在进入 reducerdd,后经过 strrdd ,进入 result,整个流程

 

二、DAG Stage 的生成

1.编辑代码

复制上述代码

输入

Scala>:paste

// Entering paste mode(ctrl.D to finish)

粘贴到此处

2. ctrl +D 执行

结果如下

image.png

查看划分的 stage

3.打开浏览器,输入 node014040/jobs/

image.png

4.点击 collect at <console>:32

image.png

5.点击 DAG 可视化

image.png

可以看到 stage0 stage1 与之间说的相反,在后面会将讲解到。

总结

数据计算发生在需要数据的地方,FinalRDD

第一个获取数据的 RDD FirstRDD

通过案例查看了 DAG 的生成,stage 的生成

相关文章
|
5月前
|
SQL 分布式计算 数据可视化
Spark SQL案例【电商购买数据分析】
Spark SQL案例【电商购买数据分析】
|
5月前
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
63 0
|
5月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
131 0
|
9天前
|
分布式计算 Hadoop Scala
Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
【4月更文挑战第13天】Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
15 0
|
5月前
|
SQL 分布式计算 数据挖掘
Spark_Day07:Spark SQL(DataFrame是什么和数据分析(案例讲解))
Spark_Day07:Spark SQL(DataFrame是什么和数据分析(案例讲解))
77 0
|
6月前
|
分布式计算 Java Spark
图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理
35 0
|
4月前
|
分布式计算 算法 数据挖掘
Spark中的图计算库GraphX是什么?请解释其作用和常用操作。
Spark中的图计算库GraphX是什么?请解释其作用和常用操作。
37 1
|
5月前
|
存储 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
【大数据技术Hadoop+Spark】Spark RDD设计、运行原理、运行流程、容错机制讲解(图文解释)
71 0
|
5月前
|
分布式计算 资源调度 大数据
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
249 0
|
5月前
|
分布式计算 数据处理 Spark
Spark【RDD编程(四)综合案例】
Spark【RDD编程(四)综合案例】