Spark基础

一.基础


1. RDD机制

  1. rdd分布式弹性数据集,简单的理解成⼀种数据结构,是spark框架上的通⽤货币。 所有算⼦都是基于rdd来执⾏的,不同的场景会有不同的rdd实现类,但是都可以进⾏互相转换。 rdd执⾏过程中会形成dag图,然后形成lineage血缘关系保证容错性等。 从物理的⾓度来看rdd存储的是block和node之间的映射。

  2. RDD是spark提供的核⼼抽象,全称为弹性分布式数据集。

  3. RDD在逻辑上是⼀个hdfs⽂件,在抽象上是⼀种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同结点上,从⽽让RDD中的数据可以被并⾏操作(分布式数据集) ⽐如有个RDD有90W数据, 3个partition,则每个分区上有30W数据。 RDD通常通过Hadoop上的⽂件,即HDFS或者HIVE表来创建,还可以通过应⽤程序中的集合来创建;

  4. RDD最重要的特性就是容错性,可以⾃动从节点失败中恢复过来。即如果某个结点上的RDD partition因为节点故障,导致数据丢失,那么RDD可以通过⾃⼰的数据来源重新计算该partition。这⼀切对使⽤者都是透明的RDD的数据默认存放在内存中,但是当内存资源不⾜时, spark会⾃动将RDD数据写⼊磁盘。⽐如某结点内存只能处理20W数据,那么这20W数据就会放⼊内存中计算,剩下10W放到磁盘中。 RDD的弹性体现在于RDD上⾃动进⾏内存和磁盘之间权衡和切换的机制。


2.基础算子


2.1. map和mapPartitions区别
  1)map:每次处理一条数据

  2࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值