简单介绍之大数据框架

简单介绍之大数据框架致初学者一,恶龙出巢大数据是一种现象,它可以称作潮流,但绝不是技术。大数据,顾名思义,就是数据变得越来越多,变得很大很大。我知道很多人对这个解释嗤之以鼻,可是经过我的一段时间学习,发现这个概念就是这样,没有必要把它上升到一种难以理解的高度。不理解的问题在于:你对数据到底有多大根本没有概念。我们在网络上每一次操作无非都是对数据的增删改查,在未来随着网络应用的越来越多,人们对网络需…

大家好,欢迎来到IT知识分享网。

致初学者

一,恶龙出巢

大数据,顾名思义,就是数据变得越来越多,变得很大很大。我知道很多人对这个解释嗤之以鼻,可是经过我的一段时间学习,发现这个概念就是这样,没有必要把它上升到一种难以理解的高度。

不理解的问题在于:你对数据到底有多大根本没有概念。

我们在网络上每一次操作无非都是对数据的增删改查,在未来随着网络应用的越来越多,人们对网络需求的越来越大,每个网络使用者相当于一个庞大的数据集,可以说你的经历有多少,你看到的,听到的有多少,你的数据就会有多少。

而随着数据越来越多,我们需要采集,传输,计算,存储的资源就有多少。我们无法要求我们的数据存储硬件越来越大,我们的计算机硬件越来越快,因为所有硬件的资源到了一定程度都受限于物资的资源。所以我们要解决未来发展中这样一个困难的问题,即产生了一系列关于大数据的学思和产品。

二,勇士拔剑

计算机科学就是数据结构+算法。

大数据作为计算机科学的分支,解决问题也从这两个角度出发。开启革命第一枪的是谷歌04年发表的论文MapReduce,其实早于这篇论文已经有很多类似想法产生的发表,不过还要资本推动技术革命嘛。这篇论文的关键思想在于他给了分布式计算的一个很典型的算法,做到一个庞大数据集计算功力的成功分布,这样一来即使我们不依靠硬件的提升,只通过算法就可以实现对大数据的计算了。

举个栗子,现在需要对全校的毕业论文做每个单词的词频统计。MapReduce的做法是把每篇论文的每个单词先做一个键值对形式的转化(Map),如(we,0),然后把转化后的键值对集分布到集群下各个子节点中(shuffle),这样每个普通计算机分到了比较少量的论文数量,再把他们按值键值相同的合并(Reduce),可能会是(we,10086),在统一将整理后的数据集返还给master节点,完成整个数据集的计算。

三,恶龙咆哮

我们现在很耳熟的框架基本上都是开源的,从Apache的Hadoop运用MapReduce开启了全民使用Hadoop的热潮后,大数据方向的框架一直在发展,一直在进步,一直适应于人们的生活。

我们从上个例子可以知道,要处理人们日常生活中产生的大数据要分很多步骤:

数据采集(Apache Flume)—>数据缓冲缓存,分布式消息队列(Apache Kafka)—>数据实时计算(Apache Hadoop, Spark,Storm,Flink)—>数据存储(HBase)

在这期间还要有很多对大数据补充产品比如:分布式协调工具Zookeeper,数据仓库Hive等等,有些已经弃用,有些还在更新。

当然,除了Apache家族开源的几个产品,市场上其他比较热门的分布式框架比如Redis(分布式内存存储),Dubbo(分布式远程服务调用)等等。

需要一提的是,所有这些产品在网络分层的角度看都是软件层面上的产品,网络整个五层结构的协同合作才使得我们能在互联网浪潮中扑腾,所以即使我们了解了其中一个框架,也只不过是冰山一角。

四,利刃出击

简单来说,Apache的实时计算框架经历的一系列的发展过程:

Hadoop依靠MapReduce的数据处理

Hadoop通过主从模型,用一系列技术维护同时性,做出来一个可维护可高效率运行的大数据实时处理框架

简单介绍之大数据框架

名门望族Spark通过RDD进行系统能力扩展

其实Spark对于Hadoop的创新有很多,但还是在发展路途中留下了很多Hadoop的身影。其中最主要的创新就是Hadoop创建了RDD(分布式弹性数据集)这样一个数据结构,其中很多分区存储信息,还建立了与其他RDD之间的联系,这样就使得我们的数据集大小可控,可以根据业务需要进行数据分流操作,提高系统灵活性,运行速度也由于在MapRedeuce方面的改进而大大提高。

简单介绍之大数据框架

Storm流处理革新

大数据的革新带来了数据形式的革新,数据不再像以前一样是大规模集成式的批处理,更多的是来自不同地点的分布式实时流计算。Storm的方式是彻底改变思想,新建了自己的一套数据结构,把整个数据当作数据流一样处理,想要关闭就拧紧水龙头,想要打开就控制流开启,在自己形成的topology中做业务。

简单介绍之大数据框架

Flink有状态的实时运算

Flink把数据当成流来处理,计算时直接计算每个状态,并保留过程中的状态数据,而不是数据本身,在流当中设置窗口等概念控制流,并有一系列容错机制如ABS来保证持久化。

简单介绍之大数据框架

HDFS分布式存储

基于一件事情说三遍的思想,就是用一个主从模型做系统备份,并通过心跳保证系统一致性,在期间还要考虑网络,性能,单点破坏等一系列事件。

简单介绍之大数据框架

关于HBase等分布式存储的框架,起源于Google的另一篇论文BigTable思想,这里不再阐述。

以上是大数据实时处理的基本介绍,疏漏还请包涵,如要学习推荐先有一点理论常识,然后从o’reilly和官方书籍入手,再看工程代码辅助论文看,才会有效果。

 

 

 

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15898.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信