深入 RDD 问题-如何运行在集群中 | 学习笔记

简介: 快速学习 深入 RDD 问题-如何运行在集群中

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段深入 RDD 问题-如何运行在集群中】学习笔记,与课程紧密联系,让用户快速学习知识。

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


深入 RDD 问题-如何运行在集群中


内容介绍:

一、六个问题的提出

二、要针对1T 的文件内容,如何进行处理?

三、如何放在集群中处理

 

一、六个问题的提出

本节通过提出一些问题,来深入了解 rdd,当前面临的挑战,以便更好的进行学习和了解。

问题一:文件过大时,如何处理?大数据本来就是数据较多,当单排计算机无法处理,就会想到放在集群中,但如果放在集群中操作,对于集群,对于计算框架、整个计算方式有没有什么要求?

这就是第二个问题:如何放在集群中执行?其中有一个很重要的前提:如果要放在集群中操作,需要将任务进行拆解。

这就是第三个问题:任务如何进行拆解?任务拆解过之后,移动数据不如移动计算。

这是第四个问题:怎么进行移动计算?

第五个问题是:一个 T 的文件处理了95%之后,忽然丢失了,那还需要再重新处理一遍吗?因此怎么进行容错也是一个问题。

最后一个问题是:当一个 T 的文件要处理时,需求很长、很复杂。因此在处理这个文件的时候,步骤过多,这些 rdd 之间会有依赖关系,依赖链过长如何拆解?

1.当文件特别大的时候,怎么处理?

2.如何放在集群中执行?

3.任务如何拆解?

4.怎么移动计算?

5.如何容错?

6.如果 RDD 之间的依赖链过长的时候,如果拆解?

 

二、要针对1T 的文件内容,如何进行处理?

正常情况下:单机进行数据处理,使用多线程来进行处理,在单机上进行处理,正常情况下笔记本内存为4g8g 16g,一个 T 的文件不能放在计算机当中,不能用内存进行处理,因此这就是第一个瓶颈:内存。

瓶颈二:磁盘,即使是使用一些技术,磁盘上限低,处理一个T的数据,存不下那么多数据。

瓶颈三:处理数据时,CPU 不够,一般 CPU 都为四核、八核。CPU 上限低,处理一个 T 的数据时间过长。

因此:单机无法处理过大的数据。因此放在集群中处理,这是第一个问题的答案。

 

三、如何放在集群中处理

放在集群中处理,利用多台计算机的平行处理,此操作的前提是:大任务可以分解为小任务,小任务可以被不同处理器进行处理。因此任务需要可划分,划分完毕之后不能立刻出错这是第一点。

第二点是:如果任务划分之后,中间需要什么过程?还需要一个共享内存的机制。

还有一个最重要的问题:任务分发到各个文件中,这个文件要被多个处理单元去处理,那么多个处理单元要奋发到集群中执行,就需要一个统一的调度工具。

image.png

总结:

第一个前提是任务可以被并行执行。

第二个前提是每个任务都可以放在并行处理器中。

第三个前提是需要有一个内存共享的机制。

第四个前提是需要将任务调度到各台机器中,需要有一个调度机制。

相关文章
|
3月前
|
存储 缓存 分布式计算
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
49 4
|
3月前
|
缓存 分布式计算 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
67 0
|
3月前
|
分布式计算 算法 大数据
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(二)
66 0
|
3月前
|
分布式计算 Hadoop 大数据
MapReduce的详细过程是什么?
【10月更文挑战第9天】MapReduce的详细过程是什么?
178 0
|
4月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
78 0
|
8月前
|
分布式计算 Hadoop Java
【集群模式】执行MapReduce程序-wordcount
【集群模式】执行MapReduce程序-wordcount
|
8月前
|
缓存 分布式计算 搜索推荐
MapReduce【MapTask和ReduceTask的工作机制】
MapReduce【MapTask和ReduceTask的工作机制】
|
分布式计算 资源调度 Hadoop
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化
Hadoop基础学习---5、MapReduce概述和WordCount实操(本地运行和集群运行)、Hadoop序列化
|
分布式计算 并行计算 大数据
RDD 入门_创建 RDD 的三种方式|学习笔记
快速学习 RDD 入门_创建 RDD 的三种方式
RDD 入门_创建 RDD 的三种方式|学习笔记
|
存储 XML 缓存
Hadoop中的MapReduce框架原理、Job提交流程源码断点在哪断并且介绍相关源码、切片与MapTask并行度决定机制、MapTask并行度决定机制
Hadoop中的MapReduce框架原理、Job提交流程源码断点在哪断并且介绍相关源码、切片与MapTask并行度决定机制、MapTask并行度决定机制
Hadoop中的MapReduce框架原理、Job提交流程源码断点在哪断并且介绍相关源码、切片与MapTask并行度决定机制、MapTask并行度决定机制