[大数据]一个大数据的故事

大数据自己是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的;程序员

大数据,首先你要能存的下大数据。
传统的文件系统是单机的,不能横跨不一样的机器。HDFS(Hadoop Distributed FileSystem)的设计本质上是为了大量的数据能横跨成百上千台机器,可是你看到的是一个文件系统而不是不少文件系统。好比你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文件路径,可是实际的数据存放在不少不一样的机器上。你做为用户,不须要知道这些,就比如在单机上你不关心文件分散在什么磁道什么扇区同样。HDFS为你管理这些数据。算法

存的下数据以后,你就开始考虑怎么处理数据。虽然HDFS能够为你总体管理不一样机器上的数据,可是这些数据太大了。一台机器读取成T上P的数据(很大的数据哦,好比整个东京热有史以来全部高清电影的大小甚至更大),一台机器慢慢跑也许须要好几天甚至好几周。对于不少公司来讲,单机处理是不可忍受的,好比微博要更新24小时热博,它必须在24小时以内跑完这些处理。那么我若是要用不少台机器处理,我就面临了如何分配工做,若是一台机器挂了如何从新启动相应的任务,机器之间如何互相通讯交换数据以完成复杂的计算等等。这就是MapReduce / Tez / Spark的功能。MapReduce是第一代计算引擎,Tez和Spark是第二代。MapReduce的设计,采用了很简化的计算模型,只有Map和Reduce两个计算过程(中间用Shuffle串联),用这个模型,已经能够处理大数据领域很大一部分问题了;oop

有了MapReduce,Tez和Spark以后,程序员发现,MapReduce的程序写起来真麻烦。他们但愿简化这个过程。这就比如你有了汇编语言,虽然你几乎什么都能干了,可是你仍是以为繁琐。你但愿有个更高层更抽象的语言层来描述算法和数据处理流程。因而就有了Pig和Hive。Pig是接近脚本方式去描述MapReduce,Hive则用的是SQL。它们把脚本和SQL语言翻译成MapReduce程序,丢给计算引擎去计算,而你就从繁琐的MapReduce程序中解脱出来,用更简单更直观的语言去写程序了大数据

有了Hive以后,人们发现SQL对比Java有巨大的优点。一个是它太容易写了。刚才词频的东西,用SQL描述就只有一两行,MapReduce写起来大约要几十上百行。而更重要的是,非计算机背景的用户终于感觉到了爱:我也会写SQL!因而数据分析人员终于从乞求工程师帮忙的窘境解脱出来,工程师也从写奇怪的一次性的处理程序中解脱出来。你们都开心了。Hive逐渐成长成了大数据仓库的核心组件。甚至不少公司的流水线做业集彻底是用SQL描述,由于易写易改,一看就懂,容易维护。优化

自从数据分析人员开始用Hive分析数据以后,它们发现,Hive在MapReduce上跑,真鸡巴慢!流水线做业集也许没啥关系,好比24小时更新的推荐,反正24小时内跑完就算了。可是数据分析,人们老是但愿能跑更快一些。好比我但愿看过去一个小时内多少人在充气娃娃页面驻足,分别停留了多久,对于一个巨型网站海量数据下,这个处理过程也许要花几十分钟甚至不少小时。而这个分析也许只是你万里长征的第一步,你还要看多少人浏览了跳蛋多少人看了拉赫曼尼诺夫的CD,以便跟老板汇报,咱们的用户是猥琐男闷骚女更多仍是文艺青年/少女更多。你没法忍受等待的折磨,只能跟帅帅的工程师蝈蝈说,快,快,再快一点!
因而Impala,Presto,Drill诞生了(固然还有无数非著名的交互SQL引擎,就不一一列举了)。三个系统的核心理念是,MapReduce引擎太慢,由于它太通用,太强壮,太保守,咱们SQL须要更轻量,更激进地获取资源,更专门地对SQL作优化,并且不须要那么多容错性保证(由于系统出错了大不了从新启动任务,若是整个处理时间更短的话,好比几分钟以内)。这些系统让用户更快速地处理SQL任务,牺牲了通用性稳定性等特性。若是说MapReduce是大砍刀,砍啥都不怕,那上面三个就是剔骨刀,灵巧锋利,可是不能搞太大太硬的东西。网站

若是我是一个相似微博的公司,我但愿显示不是24小时热博,我想看一个不断变化的热播榜,更新延迟在一分钟以内,上面的手段都将没法胜任。因而又一种计算模型被开发出来,这就是Streaming(流)计算。Storm是最流行的流计算平台。流计算的思路是,若是要达到更实时的更新,我何不在数据流进来的时候就处理了?好比仍是词频统计的例子,个人数据流是一个一个的词,我就让他们一边流过我就一边开始统计了。流计算很牛逼,基本无延迟,可是它的短处是,不灵活,你想要统计的东西必须预先知道,毕竟数据流过就没了,你没算的东西就没法补算了。所以它是个很好的东西,可是没法替代上面数据仓库和批处理系统。翻译

 

故事还在继续………………设计

相关文章
相关标签/搜索