郑州大数据开发培训学习班课程分享:spark核心技术
大数据技术,只有相互分享才能彼此共同进步,为什么我们的程序员经常活跃在各大博客和技术论坛?其主要原因是:程序员们并不拒绝分享,甚至是乐于去贡献代码。身为一个程序员,特别值得他们骄傲的事情就是自己写的代码被别人用到而带来的成就感。
今天千锋郑州大数据培训老师在百忙之中,为我们分享了当今火爆的大数据技术,讲解了spark技术的核心,我们可以不从事数据分析行业,但国家的一些技术还是要了解的。
Spark核心概念Resilient Distributed Dataset (RDD)弹性分布数据集
RDD是Spark的基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现。RDD是Spark特别核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。RDD必须是可序列化的。RDD可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了MapReduce大量的磁盘IO操作。这对于迭代运算比较常见的机器学习算法, 交互式数据挖掘来说,效率提升比较大。
RDD的特点:
1、它是在集群节点上的不可变的、已分区的集合对象。
2、用并行转换的方式来创建如(map, filter, join, etc)。
3、失败自动重建。
4、可以控制存储级别(内存、磁盘等)来进行重用。
5、必须是可序列化的。
5、是静态类型的。
RDD的好处:
1、RDD只能从持久存储或经过Transformations操作产生,相比于分布式共享内存(DSM)可以更高效实现容错,对于丢失部分数据分区只需根据它的lineage就可重新计算出来,而不需要做特定的Checkpoint。
2、RDD的不变性,可以实现类Hadoop MapReduce的推测式执行。
3、RDD的数据分区特性,可以用数据的本地性来提高性能,这与Hadoop MapReduce是一样的。
4、RDD都是可序列化的,在内存不足时可自动降级为磁盘存储,把RDD存储于磁盘上,这时性能会有大的下降但不会差于现在的MapReduce。
RDD的存储与分区
1、用户可以选择不同的存储级别存储RDD以便重用。
2、当前RDD默认是存储于内存,但当内存不足时,RDD会spill到disk。
3、RDD在需要进行分区把数据分布于集群中时会根据每条记录Key进行分区(如Hash 分区),以此保证两个数据集在Join时能高效。
RDD的内部表示
在RDD的内部实现中每个RDD都可以使用5个方面的特性来表示:
1、分区列表(数据块列表)
2、计算每个分片的函数(根据父RDD计算出此RDD)
3、对父RDD的依赖列表
4、对key-value RDD的Partitioner【可选】
5、每个数据分片的预定义地址列表(如HDFS上的数据块的地址)【可选】
大数据是互联网发展的方向,大数据人才是未来的高薪贵族。随着大数据人才的供不应求,大数据人才的薪资待遇也在不断提升。如果你想获得更高的薪资,如果你想转行加入大数据行业,千锋郑州大数据培训机构将是你正确的选择。
相关推荐HOT
更多>>大数据培训学习什么,你了解多少
大数据培训学习什么?你了解多少?随着互联网技术的不断发展,大数据技术开始走进人们的视野,并成为现阶段吃香的技术能力之一。那么熟练掌握大...详情>>
2023-03-16 15:16:01云计算培训怎么样?可靠吗
云计算培训怎么样?可靠吗?靠不靠谱要看你什么要求了,因人而异。但如果你是想通过培训机构快速掌握好技能,然后进入行业,这个一般都没有问题...详情>>
2023-03-07 14:51:00java编程工资多少?主要学哪些内容
java编程工资多少?主要学哪些内容?java程序员的月收入在6000-20000不等,在一线城市有工作经验的java程序员的薪资收入会高一些,在二三线城市...详情>>
2023-02-24 14:56:07it工程培训机构,云计算难学吗
下面给小伙伴们列举一个学习大纲参考: 第一阶段: 零基础入门 1、计算机基础 2、Raid设置与网络服务基础 3、网络基础 第...详情>>
2022-12-01 17:48:04