当前位置:   article > 正文

大数据处理流水线_大数据pipeline流式操作详解

大数据pipeline流式操作详解

大数据处理流水线:一种数据流方法

看完本文,不妨回头看看这些要求都做到了吗:
  • 理解数据流及其在数据科学中扮演的角色
  • 用实例解释‘split-do-merge’,一种大数据流水线
  • 给出‘data parallel’的定义
  • 列举大数据流水线中常见的变换
  • 列举常见聚集函数

流水线概念

大多数大数据应用是由一组陆续执行的操作组成的,这组操作成为流水线。数据沿途经过多种转化,在这些操作间流动。所以要理解大数据处理过程,必须先理解数据流。

考虑另一篇关于MapReduce的文章中的WordCount实例,MapRedcue的过程可以总结如下图:

虽然MapReduce已经代表了一批应用程序,但这还不够,需要再进行抽象,提高一个层次,可以总结出‘ split-do-merge’模型。
首先数据被分成若干部分,分割后的数据经过一组用户定义的函数来执行一些操作,从统计方法到机器学习,都可以。根据应用程序的数据处理需求,‘do’操作可以不同,也可以组成一条操作链。最后结果会被用一种合并方法进行结合,如Reduce。
上述一组大数据处理过程也称为大数据PipeLine,流水线。Pipe这个词最早出现在UNIX操作系统中,一个程序的输出作为另一个程序的输入。对大数据处理过程而言,在流水线中每一步的并行问题主要就是 数据并行问题(data parallelism)。我们可以将数据并行简单地定义为对同一数据集的不同部分同时运行相同的函数。要达到这种数据并行,我们必须决定每步个并行计算的数据粒度,如WordCount中的Map的数据粒度是一行,shuffle and sort的数据粒度是单个键值对。你会发现每一步数据集的大小都减小了。

常见数据变换

变换是改变数据形状的工具。
Map
map是最常见的数据变换,map对数据集中的每一个元素执行一样的操作,如都加1。
Reduce
reduce对具有某种共性的对象总体地执行某种操作,如求和。
Cross/Cartesian
cross就是求笛卡尔积。
Match/Join
match就是数据库中的内连接(inner-join)。

Co-Group
co-group是将两个数据集合成一个数据集,然后将key相同的元素分作一组。


Filter
filter即过滤,相当于数据库中的where,根据一个条件筛选,如X%2==0。

聚集函数

聚集函数把所有相关的数据元素都考虑进来。设X是数据集,将X中的所有数据元素x都考虑进来的变化f称为聚集函数。如求和、分组求和、求平均值、分组求平均值等都是聚合函数。 集合操作交并差一定意义上也可以称作聚集函数。聚集函数往往压缩了数据量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/901932
推荐阅读
相关标签
  

闽ICP备14008679号