《深入理解Spark》之spark特点

1、A list of partition(具体的概念:某个节点上连续的数据)
partition的列表
一个RDD是由多个partition组成的
这些partition可以在多台服务器上
2、A function for computing each split
一般来说一个partition对应一个split
每个函数可以被应用到split
3、A list of dependence on other RDDs
每个RDD依赖于别的RDD
HadoopRDD->FilterRDD->PariRDD
如果某个RDD丢了(因为RDD在内存中,如果某个服务器宕机就没有了)就可以通过别的RDD计算出来
并行计算,如果某个RDD丢了只会重新计算某一个路径的
4、Optionally,a partitioner for key-value RDDs
如果是KV键值对的RDD可以通过key分区
5、a list of preferred locations to compute each split on 
选择最佳位置
即数据所在的位置(移动计算而不移动数据)


每个RDD是瞬时存在的一个状态
当RDD1转换为RDD2时RDD1就没有了,即指向RDD1 的指针没有了所以它会被垃圾回收机制回收
有时候做RDD持久化persist还存在(是在内存中持久化即指向他的指针)是为了防止丢失
如果该RDD丢失了
在没有做持久化的情况下需要重新IO重新计算
碰到一个Action算子就提交一个job
持久化策略
只内村
如果对于一个1T的文件,spark集群只有512G那么它只读如512G的数据计算完后再计算剩余的
在使用该模式时如果内存不太够用可以序列化一下
只磁盘(节点的本地磁盘)
内存和磁盘
读数据时如果数据太大就把数据写到本地磁盘,当需要找依赖RDD时,直接从本地磁盘读取
适用于计算结果时间很长的情况,即从HDFS写数据到本地磁盘的时间不太影响总体到的时间时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值