spark-day02-核心编程-RDD

一:概念介绍

spark是最基本的数据处理模型,最小的计算单元,易于后续的扩展。

二:IO基本实现原理

        字节流:

        字符流:

三:RDD和IO之间的关系 

        RDD数据只有在调用collect方法时,才会执行真正的业务逻辑操作。之前的封装全部都是功能的扩展。RDD是不保存数据的,但是IO可以临时保存一部分数据。

 四:spark特点

RDD通过不同的分区进行分配给不同的Task

 弹性:

        存储的弹性:内存和磁盘的自动切换

        容错的弹性:数据丢失可以自动恢复

        计算的弹性:计算出错重试机制

        分片弹性:可根据需要重新分片

分布式:数据存储在大数据集群不同节点上

数据集:RDD封装了计算逻辑,并不保存数据

数据抽象:RDD是一个抽象类,需要子类具体实现

不可变:RDD封装了计算逻辑,是不可以改变的,想要改变,只能产生新的RDD,在新的RDD里面封装计算逻辑

可分区、并行计算。

五:五大主要配置

        1:分区列表:RDD数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。

        2:分区计算函数。每个分区会有计算(计算逻辑是相同的,数据不一致)

        3:RDD之间的依赖关系。RDD是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个RDD建立依赖关系。

         4:分区器(当数据为KV类型数据时,可以通过设定分区器自定义数据的分区),就是将RDD读取完数据之后,如何将指定的数据放到指定分区的规则。

        5:首选位置。计算数据时,可以根据计算节点的状态选择不同的节点位置进行计算。判断Task发送给哪个Exectuor,效率最优。

六:RDD创建

        1:内存创建,两种方法,parallelize和makerdd,makerdd底层仍然调用parallelize方法

        2:文件创建

        3:文件创建,能够显示数据结果来自于哪些文件

 七:RDD的并行度和分区

        分区和并行度是不一致的,主要是看分区之后,TASK和EXECUTOR的个数关系

         1:内存分区,分区数的设置以及相关数据的分配

         2:文件分区,分区数的设置以及相关数据的分配

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

总会有天明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值