【第22期】观点:IT 行业加班,到底有没有价值?

2.Spark RDD相关知识介绍

原创 2016年06月01日 08:40:45
第一:基于工作集合的应用抽象(中间的和曾经的)
第二: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数。
-------------------------------------------------
版权声明: 举报

相关文章推荐

spark零基础学习路线指导

spark学习一般都具有hadoop基础,所以学习起来更容易多了。如果没有基础,可以参考零基础学习hadoop到上手工作线路指导(初级篇)。具有基础之后,一般都是按照官网或则视频、或则文档,比如搭建s...

Spark JDBC(1)MySQL Database RDD

Spark JDBC(1)MySQL Database RDD Try to understand how the JDBCRDD work on Spark. First of all, the master did not connect to the database. First step, The client driver class will connect to the MySQL and get the minId and maxId. 150612 17:21:55 58 Connect cluster@192.168.56.1 on lmm sel

欢迎关注CSDN程序人生公众号

关注程序员生活,汇聚开发轶事。

spark rdd 转换过程

  从一个

深入理解Spark RDD抽象模型

深入理解Spark RDD抽象模型和编写RDD函数 Spark revolves around the concept of a resilient distributed dataset (R...

Spark RDD弹性表现和来源

hadoop 的MapReduce是基于数据集的,位置感知,容错 负载均衡 基于数据集的处理:从物理存储上加载数据,然后操作数据,然后写入物理存储设备; 基于数据集的操作不适应的场景: 1,不适合于大量的迭代 2,交互式查询 重点是:基于数据流的方式 不能够复用曾经的结果或者中间计算结果; spark RDD是基于工作集的 工作流和工作集的共同特点:位置感知,自动容错,负载均衡等。 spark的位置感知比hadoop的好很多,具体如下: hadoop位置感知:hadoop进行partition之后就不管Reducer在哪里了。 spark的位置感知:spark进行par
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)