前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据开发:Spark核心概念RDD入门

大数据开发:Spark核心概念RDD入门

作者头像
成都加米谷大数据
修改2021-07-28 18:06:57
3550
修改2021-07-28 18:06:57
举报
文章被收录于专栏:大数据开发

Spark在大数据处理上的优势,很大一部分来自数据处理速度的提升,这使得Spark在面对大规模实时计算的数据任务时,能够更快地完成大批量数据的处理,提升大数据处理的效率。而Spark获得的这些优势,核心关键在于RDD,今天我们为大家讲讲Spark核心RDD概念。

所谓的RDD,全称是Resilient Distributed Datasets,翻译过来就是弹性分布式数据集,似乎念起来有点绕口,我们先从简单一点的角度来理解。

把RDD想象为一组数据,而Spark把要处理的数据、处理中间结果以及输出结果都定义成RDD,那么在Spark当中数据处理的流程就可以这样去理解——

从数据源读取数据,把输入生成一个RDD;

通过运算把输入RDD转换成另一个RDD;

再通过运算把生成的RDD转换成另一个RDD,重复需要进行的RDD转换操作(此处省略一千遍);

最后运算成结果RDD,处理结果。

经过这样一个流程,就实现了对大规模数据的处理,而Spark对于数处理,因为本身没有分布式文件系统,所以可以与Hadoop的HDFS实现协同,完成数据存储。但是Spark当中的RDD默认是在内存当中进行存储的。只有当数据量大于Spark被允许使用的内存大小时,那么可以将数据spill到磁盘上。

接下来,就是RDD的接口问题。

RDD是连接Spark数据操作的核心,接口要解决的主要问题就是,为了生成这个RDD,它的上一个RDD是谁,以及生成过程使用的运算是什么。

举个简单的例子,数据A,经过运算F,转换成了数据B,那么如果问你如何得到B,那么需要数据A+运算B,这就是接口需要提供的东西。

所以其实RDD就是一个数据集,是一组数据被处理到一个阶段的状态,在Spark当中,根据数据处理任务,会有很多个RDD,RDD彼此之间交互运算,完成最终的数据处理结果。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档