你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop&Spark扫盲

[日期:2016-11-16] 来源:正午的博客  作者: [字体: ]

  Hadoop&Spark扫盲

  最近在工作中使用Spark ,突然发现Hadoop ,HDFS,Hive ,Mapreduce等很多大家讨论火热的东西基本只听过名词。今天查了下相关东西,总结在此,如果我的博客帮助到了你,纯属偶然。

  Hadoop

Hadoop

  Apache Hadoop 是受Google 的两篇Paper( Mapreduce , Google File System )启发诞生的。最早在Nutch项目里,2006年移入Hadoop,命名也有传播很广的故事。

  Hadoop 主要包括两步分,** Hadoop Distributed File System (HDFS) 和 Hadoop MapReduce**。很 明显了HDFS解决了存储,MapReduce 更多情况下是一个编程框架。入门者最开始使用MapReduce 的例子基本都是进行词频统计。使用Map进行分词,然后Reduce得到词频,从这个例子也大概可以理解下MapReduce 干的事情。

  那经常听到的Hive,Hbase 又是什么鬼? Hive 是建立在Hadoop 之上的数据仓库,可以通过Sql查询和实现一些MapReduce 操作。 Hbase 是建立在Hadoop之上的一种分布式非关系型数据库。模型也是产生于Google的一篇research Bigtable: A Distributed Storage System for Structured Data 。用过的Cassandra也是一种Bigtable的实现。

  你可能会听到 Hadoop YARN ,YARN 是作业管理框架,我理解MapReduce 是建立在YARN上的。

  Spark

  我记得在Spark 出来之后看到有人说Spark会代替Hadoop 。但是今天研究了一番完全不是那么回事。 Spark 的重点在于数据的处理和计算能力,它并没有解决数据存储问题。换句话说它相当于Hadoop Mapreduce的升级版。通常Spark都是和Hadoop 一起使用的。因为Spark需要HDFS这样的存储系统,Spark又比Hadoop Mapreduce 更快,个人感觉Api更丰富,对于机器学习算法来说更友好。 当然Spark 可以不需要Hadoop ,Hadoop 也可以不需要Spark. Spark 还提供了Spark Sql, Spark Stream,Spark Mlib, Spark GraphX 一些丰富的功能,而且支持Java, Scala, Python,R等多种语言。 





收藏 推荐 打印 | 录入:elainebo | 阅读: