主页 > 新闻资讯 > 入门Spark:Spark数据模型RDD概念全解

入门Spark:Spark数据模型RDD概念全解

作者:张老师 浏览次数: 2020-02-19 18:30
市面上的大数据计算框架当中,Spark凭借自身的实力获得广泛地认可,占据着重要的市场份额。而想要入行大数据发展,那么对于Spark框架技术的掌握也成为必要技能之一。入行大数据,先要入门Spark学习,今天我们主要就Spark数据模型RDD给大家做一个入门介绍。

Spark框架,相对于Hadoop来说,计算性能得到显著的提升,而帮助Spark实现计算性能提升的重要底层支持,就是来自于RDD数据模型。

入门Spark

RDD按照定义叫做弹性分布式数据集,在面对大规模数据迭代计算的时候,Hadoop的MapReduce需要反复地从磁盘存取数据,磁盘IO不足,导致后续计算的拖延和延迟。而RDD就是针对性的解决方案。

RDD当计算过程中内存不足时可刷写到磁盘等外存上,可与外存做灵活的数据交换。并且,RDD使用了一种“谱系”的容错机制,在结构更新和丢失后可随时根据谱系进行数据模型的重建,这其实是一种以计算换内存的方式。

RDD是数据集,也就是一组只读的、可分区的分布式数据集合,集合内包含了多个分区。分区依照特定规则将具有相同属性的数据记录放在一起,每个分区相当于一个数据集片段。

RDD内部结构,属性用来描述当前数据集的状态,数据集由数据的分区(partition)组成,并由(block)映射成真实数据。RDD的主要属性可以分为3类,与其他RDD的关系(parents、dependencies)、数据(partitioner、checkpoint、storage level、iterator等)以及RDD自身属性(sparkcontext、sparkconf)。

从自身属性说起,SparkContext是Spark job的入口,由Driver创建在client端,包括集群连接、RDD ID、累加器、广播变量等信息。

数据,RDD内部的数据集合在逻辑上和物理上被划分成多个小子集合,这样的每一个子集合我们将其称为分区(Partitions),Partition类内包含一个index成员,表示该分区在RDD内的编号,通过RDD编号+分区编号可以确定该分区对应的唯一块编号,再利用底层数据存储层提供的接口就能从存储介质中提取出分区对应的数据。

在Spark框架的学习当中,想要快速入门Spark,对于数据模型RDD的概念就熬做到深入理解,正是基于RDD的诸多特性,才实现了Spark从内部运行到任务计算上的性能提升,这是Spark必须掌握的核心关键点之一。成都加米谷大数据,大数据知识分享,大数据培训班学习,更多课程详情可联系客服了解!
热点排行
推荐文章
立即申请>>