2.Spark RDD相关知识介绍
来源:互联网 发布:lol外围关注软件 编辑:程序博客网 时间:2024/06/15 15:17
第一:基于工作集合的应用抽象(中间的和曾经的)
第二:RDD内幕解密
第三:RDD思考
-----------------------------------------
基于工作集合的应用抽象特点:位置感知,容错,负载均衡
基于数据集:从物理存储加载数据,操作数据,写入物理存储。
缺点:不适合大量的迭代运算,交互查询,重点是基于数据流的方式,不能复用曾经的结果或者中间计算结果
----------------------------------------------------
RDD弹性层面的特点:
1、自动进行内存和数据磁盘存储转换。
2、基于lineage的高度容错
3、task如果失败会自动进行特定次数的重试、
4、stage失败会自动进行特定次数的重试。
5、checkpoint和persist
6、数据调度弹性:DAG,task和资源管理无关
7、数据分片的高度弹性。
-------------------------------
RDD特点举例:
f(x)=x+2
x=y+1
y=z+3
每次的第一个参数都是this,父依赖。相当于函数展开的过程。
---------------------------------
常规的容错方式有2种:数据检查点和记录数据更新。
数据检查点:通过数据中心的网络,连接每台机器,复制数据集。此种情况会通过网络,严重消耗io
数据更新:每次改变都要记录(写操作)。问题:1复杂,数据更新太多2消耗性能
spark采用的方式:数据更新,之所以高效是因为
1.RDD是不可变得lazy级别,且是计算链条,不产生中间结果,只是记录的相互依赖。
例如第901步出错,可以从第900步开始计算。前提是900步进行了persist或者是stage
2.RDD的写操作是粗粒度的,但是RDD的读(查询),既可以是粗粒度,也可以是细粒度的。
---------------------------------------
repartition 默认是shuffle的
coalesce默认不shuffle
------------------------------------
RDD操作默认返回的是itorator,spark的接口可以调用子类的方法,原因就是this.type
-------------------------------------------------------------------------------------------
RDD缺点:不支持细粒度的更新操作和增量迭代计算
-----------------------------------
如果是scala集合的话,那么针对数据本地性,是数据集合会被copy到计算节点内存。
-------------------------------------------------------------
spark rdd是被分区的,对于rdd来说,每个分区都会被一个计算任务处理,并且决定并行计算的粒度,rdd的每次转换操作都会生成新的rdd。在生成新的rdd时,一般可以指定分区的数量,如果不指定分区的数量,当rdd从集合创建的时候,则默认为该程序分配到的cpu核数,如果从hdfs创建,则默认为文件的block数。
-------------------------------------------------
第二:RDD内幕解密
第三:RDD思考
-----------------------------------------
基于工作集合的应用抽象特点:位置感知,容错,负载均衡
基于数据集:从物理存储加载数据,操作数据,写入物理存储。
缺点:不适合大量的迭代运算,交互查询,重点是基于数据流的方式,不能复用曾经的结果或者中间计算结果
----------------------------------------------------
RDD弹性层面的特点:
1、自动进行内存和数据磁盘存储转换。
2、基于lineage的高度容错
3、task如果失败会自动进行特定次数的重试、
4、stage失败会自动进行特定次数的重试。
5、checkpoint和persist
6、数据调度弹性:DAG,task和资源管理无关
7、数据分片的高度弹性。
-------------------------------
RDD特点举例:
f(x)=x+2
x=y+1
y=z+3
每次的第一个参数都是this,父依赖。相当于函数展开的过程。
---------------------------------
常规的容错方式有2种:数据检查点和记录数据更新。
数据检查点:通过数据中心的网络,连接每台机器,复制数据集。此种情况会通过网络,严重消耗io
数据更新:每次改变都要记录(写操作)。问题:1复杂,数据更新太多2消耗性能
spark采用的方式:数据更新,之所以高效是因为
1.RDD是不可变得lazy级别,且是计算链条,不产生中间结果,只是记录的相互依赖。
例如第901步出错,可以从第900步开始计算。前提是900步进行了persist或者是stage
2.RDD的写操作是粗粒度的,但是RDD的读(查询),既可以是粗粒度,也可以是细粒度的。
---------------------------------------
repartition 默认是shuffle的
coalesce默认不shuffle
------------------------------------
RDD操作默认返回的是itorator,spark的接口可以调用子类的方法,原因就是this.type
-------------------------------------------------------------------------------------------
RDD缺点:不支持细粒度的更新操作和增量迭代计算
-----------------------------------
如果是scala集合的话,那么针对数据本地性,是数据集合会被copy到计算节点内存。
-------------------------------------------------------------
spark rdd是被分区的,对于rdd来说,每个分区都会被一个计算任务处理,并且决定并行计算的粒度,rdd的每次转换操作都会生成新的rdd。在生成新的rdd时,一般可以指定分区的数量,如果不指定分区的数量,当rdd从集合创建的时候,则默认为该程序分配到的cpu核数,如果从hdfs创建,则默认为文件的block数。
-------------------------------------------------
0 0
- 2.Spark RDD相关知识介绍
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD算子介绍
- Spark RDD介绍
- spark rdd scala相关使用
- spark RDD常用算子介绍
- Spark Learning(RDD介绍)
- Spark rdd 介绍,和案例介绍
- 【spark,RDD,1】弹性分布式数据集RDD介绍
- spark常用RDD介绍及Demo
- Learning Spark笔记2-RDD介绍
- Spark的基本数据结构RDD介绍
- Spark RDD的定义和介绍
- Spark编程指引(二)---------------RDD介绍,闭包对RDD的影响,如何打印RDD。
- Spark编程指引(二)---------------RDD介绍,闭包对RDD的影响,如何打印RDD。
- Spark编程、RDD 功能介绍、RDD 元素变换、RDD 元素操作
- book: 《Deep Learning》
- python read file
- 比较两个日期的大小
- 图书管理系统1.0by P_LarT
- IOS8之前 一些过期的方法的处理
- 2.Spark RDD相关知识介绍
- leetcode记录-字符串系列
- HTTP协议内容
- MUI manifest.json记录
- APP图标神器发布 APP图标神器0.1 开源免费下载
- angularjs的mvvm
- maven install Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-wa
- HTTP协议的详细讲解
- Swift学习第七枪--协议(一)