弹性分布式数据集(RDD)
来源:互联网 发布:ubuntu语言包下载慢 编辑:程序博客网 时间:2024/05/16 19:37
弹性分布式数据集(Resilient Distributed Dataset,RDD),它是逻辑集中的实体,在集群中的多台机器上进行分区。
RDD是Spark数据存储的核心,可以抽象地理解为一个大数组(Array),但是这个数组是分布在集群上 。
RDD是Spark的核心数据结构,通过RDD的依赖关系形成Spark的调度顺序。通过对RDD的操作形成整个Spark程序。
BlockManager管理RDD的物理分区,每个Block就是节点上对应的一个数据块,存储在内存或磁盘中。
RDD中的Partition是一个逻辑数据块,对应相应的物理块Block。
分区是一个逻辑概念,通过Transformation算子的变换后得到的新旧分区在物理上可能是同一块内存存储
有些RDD是计算的中间结果,其分区并不一定有相应的内存或磁盘数据与之对应
本质上,一个RDD在代码中相当于是数据的一个元数据结构,存储数据分区(block)及其逻辑结构(Partition)的映射关系,存储RDD之前的依赖转换关系。
- RDD的重要内部属性(数据结构):
1. 分区列表
2. 计算各个分片的函数
3. 对父RDD的依赖列表(窄依赖:对父RDD的某个固定partition依赖;宽依赖:对父RDD的所以partition依赖)
4. 对键值对数据类型RDD的分区器,控制分区策略和分区数
5. 每个数据分区的地址列表(如HDFS上的数据块的地址)
- RDD的创建方式:
1. 从Hadoop文件系统(或者与Hadoop兼容的其他持久化存储系统,Hive,HBase,Cassandra)输入创建
2. 从父RDD转换得到新的RDD
- RDD的两种操作算子:
1. Transformation(变换):是延迟计算的,从一个RDD转换生成另一个RDD的转换操作不是马上执行的,需要等到有Actions操作时,才开始出发运算
2. Action(行动):会触发Spark提交作业(Job),并将数据输出到Spark系统
- RDD弹性分布式数据集(一)
- 弹性分布式数据集(RDD)
- Python--弹性分布式数据集(RDD)
- 弹性分布式数据集(RDD)
- RDD,弹性分布式数据集
- 弹性分布式数据集RDD
- 弹性分布式数据集RDD
- RDD(Resilient Distributed Datasets 弹性分布式数据集)
- Spark RDD:弹性分布式数据集
- Spark RDD:弹性分布式数据集
- 【Spark】弹性分布式数据集RDD概述
- 弹性分布式数据集RDD概述
- 弹性分布式数据集RDD概述
- Spark弹性分布式数据集RDD详解
- Spark RDD弹性分布式数据集
- 弹性分布式数据集RDD(概念)
- 弹性分布式数据集RDD(代码实现)
- [Spark]Spark RDD 指南三 弹性分布式数据集(RDD)
- 在jsp用OGNL标签<s:property>访问Action中的私有属性
- 编码规范系列(一):Eclipse Code Templates设置
- spring 中 init-method 和 destroy-method 的使用方式
- python学习笔记--1
- leetcode-108. Convert Sorted Array to Binary Search Tree
- 弹性分布式数据集(RDD)
- Android 开源项目xUtils3使用教程
- 数字
- VC/MFC动态画线,画圆,画椭圆,画矩形
- 微信开发九 自定义菜单
- Python基本操作
- Android-6.0之PMS的守护进程installd
- ArrayAdapter参数的理解
- PlantSimulation:SimTalk 2.0