传统的计算就是在一台或多台机器上部署程序,然后把数据获通过接口抓取到程序里进行分析,这称之为移动数据。而hadoop不是,而是把程序自动分发到各hadoop结点上进行计算,然后通过一定机制把结果进行汇总最后返回出来,这称之为移动计算。
解释一下,第一种,移动数据,到头来还是一个中央计算机从很多台机器上拉数据,拉倒自己的机器上处理,终究还是一台机器处理,慢不慢?慢!
而hadoop呢,移动计算,每个节点也就是每台机器自己计算,算好之后由hadoop的mapReduce统一汇总,快不快?快!mapReduce需要基于hadoop的分布式文件系统(HDFS),又有ubuntu又有window又有mac怎么能汇总?必须要统一,其实就像java虚拟机,你底层不是不一样么,那好,我在上层虚拟一层出来,我的东西都在虚拟机上运行,虚拟机与底层操作系统交互的的东西我来写,操作系统也就那么多,而且我只写几个用的多的就行,没几个人用的操作系统我就不写喽,大不了官网上写上不兼容就行了,哈哈,这样都统一了,才能进行MapReduce。
hadoop很好的呈现了现在的分布式计算的优势,看一些应用的场景:
应用场景之一:就是搜索引擎,现在互联网数据海量,如何存储并搜索成为难点,那hadoop的两大核心框架就正符合这用处,用网络爬虫取来的海量网页数据存于分布式库,然后当去搜索时,通过各子结点并发搜索,将数据返回合并后展示。 而hadoop的产生,也就是在google在2003年到2004年公布了关于GFS、MapReduce和BigTable三篇技术论文,即google的三驾马车。Hadoop的HDFS对就google的GFS,MapReduce对就google的MapReduce,Hadoop的HBase对应google的BigTable。 (注:HBase是其于hadoop开发的类似数据操作的软件)。
应用场景之二:生物医疗,大量DNA数据存储,同时要进行比对工作,用Hadoop再合式不过了。
当然还有N多其他应用场景……