欢迎来到 wabc.cc 官方网站!

杭州大数据学习培训哪里好?

来源:推荐文章 / 时间:2025-12-21

大数据学习培训哪里好?既然是学习,那技术课程应该是重要的参考部分了。我是在千锋学习的大数据,感觉还不错,现在是学到spark部分了,可以就此分享一下我对spark技术的理解。

Spark是加州伯克利分校的一个数据分析栈,号称可以一栈式解决大数据的问题,包括但不限于图计算、流计算、机器学习等。那么为什么spark会发展速度这么快呢?

主要是因为spark有重要的工具,一个RDD(弹性分布式数据集 Resilience Distributed set),另一个就是DAG(任务的切分依据),不是工具,是基于内存计算,而不是基于内存存储计算。

      关于RDD的五个特性:

           1)一个分区列表    a list of partitions

          2) 每个分区对应的一个计算算子   

        3)与上级RDD的依赖关系集

         4)对于键值对RDD,默认存在一个hash 分区器  hash  partitioner

            5)对于每个分区都存在一个最 优的位置计算。

   个人理解说明:

            RDD是分布式、加载不可变的数据集,对应每个分区,我直接给出一个compute的task ,那么对应的这个计算就可以分发到数据存储的机器上。关于弹性:由于RDD有容错机制(persist  or  cache or  checkpoint),当任务计算失败,可以重新进行计算,这个特性我理解为弹性的。

        关于依赖关系集的理解:RDD是抽象出来的模型,RDD的两个操作分类一个是Transformation ,另一个是Action,只有Action操作之后,才会进行真正的计算;那么其他大量的Transformation 操作是干嘛的呢?难道是看戏的?对,个人理解,那些Transformation 操作就是记录一系列的依赖关系,map--->flatmap----groupBykey---count等等,这些都是一系列的瞬时计算状态,记录上级RDD操作的暂态,只有遇到Action操作才真正的进行就是。

        关于分区器,spark一共提供的两种分区器,一个是hash 分区器,另一个是page 分区器;默认使用hash 分区器,那么为什么需要hash分区器呢?spark的这些RDD在计算的过程也是存在数据混洗的,也就是shuffle,不然groupBYKey,聚不到一起还叫group吗?那么多台机器之间数据混洗是需要大量的时间和性能的消耗的。

spark优化,就考虑了hash分区器,对于二元操作,预先数据分区会导致至少一个RDD不发生数据混洗,如果第二个RDD使用相同的分区方式,并且他们还缓存在同样的机器上,那么就不会发生数据的混洗了。

大数据学习培训哪里好?我只是选择了千锋,觉得还不错,可以成为你的备选机构之一!

相关产品

在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部