教育

大数据学习培训哪里好?选择千锋教育

字号+ 作者:lobtom 来源:未知 2018-09-26 19:25 我要评论( )

大数据学习培训哪里好?既然是学习,那技术课程应该是重要的参考部分了。我是在千锋学习的大数据,感觉还不错,现在是学到spark部分了,可以就此分享一下我对spark技术的理解。 Spark是加州伯克利分校的一个数据分析栈,号称可以一栈式解决大数据的问题,包括但不限

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

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

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

  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使用相同的分区方式,并且他们还缓存在同样的机器上,那么就不会发生数据的混洗了。

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 我想学英语一句不会想学点出去旅游用 该怎么快

    我想学英语一句不会想学点出去旅游用 该怎么快

    2018-09-26 23:55

  • 如何快速背诵教育学和教育心理学

    如何快速背诵教育学和教育心理学

    2018-09-26 23:55

  • 福州快乐学习和学大教育究竟哪家的教学质量更好?

    福州快乐学习和学大教育究竟哪家的教学质量更好?

    2018-09-26 19:25

  • 快开学了!该怎么收心?

    快开学了!该怎么收心?

    2018-09-26 19:25

网友点评