初识Hadoop
来源:互联网 发布:淘宝催确认订单给好评 编辑:程序博客网 时间:2024/05/17 10:06
一、Hadoop能够解决的问题
Hadoop解决的问题就是大数据存储和运算问题。
这里要说一个宏观的问题,就是大数据产业链,来说明Hadoop在产业链中所处的位置,以便于更好的理解Hadoop是做什么的。
所谓大数据的产业链,就像于普通商品的产业链,普通商品的产业链先是原材料的搜集、原材料的预加工、深加工、 制造成各种各样的商品、最终销售变现获得利润。
大数据产业链可以分为三个阶段:
- 大数据收集、整理阶段;
- 大数据存储、处理阶段;
- 大数据应用、变现阶段;
Hadoop是用来解决第二步,大数据存储、处理问题的技术的。
拿一般的企业而言,数据的搜集渠道很多,也已经有了,比如订单数据、PV、UV数据等等。搜集到数据这是第一步。
第二步是如何存储和运算这些大数据,这个就是Hadoop擅长的事情,Hadoop为存储和处理大数据提供了解决方案。
第三步是和具体业务相关的,是从需求的角度为出发点利用第二步中存储的大数据,比如想做一个基于PV、UV的用户行为分析的应用程序,来指导如何优化页面和流程,以便于更好的引导客户下单,从而实现利润。
二、Hadoop核心和概念
Hadoop是存储和处理大数据的解决方案,相对应地Hadoop的核心就两个:
1、 HDFS:HDFS是分布式文件系统,提供了数据存储的方案。
2、 MapReduce:MapReduce是平行运算架构,提供了数据处理的的解决方案。
Hadoop概念分狭义的和广义的:
1、 狭义的Hadoop只是Hadoop本身 (HDFS+MapReduce)。
2、 广义的Hadoop其实是泛指在HDFS+MapReduce核心上衍生出来的一个Hadoop生态系统。
三、Hadoop生态系统
1、 Hadoop生态系统
2、生态系统的核心:
(1) HDFS和MapReduce是Hadoop的核心,一个负责数据存储,一个负责数据处理
(2) HDFS特点是分布式存储、顺序读、只能追加
- 分布式:会将一个文件分割后存储在不同的节点,
- 流式访问:只能从前往后读取,几乎每次读取都要读取全部数据。
- 只能追加:HDFS中,数据写入只能追加到文件的末尾,不支持随机读写。
(3) MapReduce是线性的、可伸缩的编程模型,核心是两个函数:map()和reduce();
- 线性表现在:所有的数据处理都是顺序执行map()和reduce()。
- 可伸缩表现在:可以在很多运算节点并行执行,而节点数量理论上是可以无限增加的。
3、衍生的项目:
- Sqoop: Hadoop的数据来源往往是原有的关系型数据库,经过Hadoop的处理后,往往是把结果数据再存入关系型数据库中,所以Sqoop就是用来做数据导入导出的,Sqoop是关系型数据库和HDFS之间数据的传输桥梁。
- HBase是在HDFS基础上开发的面向列的分布式数据库。 它用巧妙的方式解决了不违反HDFS存取规则的前提下,提供随机读写、实时响应的功能。
- ChukWa是一个对整个Hadoop系统的运行情况进行分析和反馈的工具。
- ZooKeeper: Hadoop可以是分布式大集群系统,必然各个节点间的协调变的很复杂,ZooKeeper就是为分布式应用程序开发的协调服务。
- Pig: Hadoop中数据处理的机制就是通过MapReduce来线性地执行各个map()和reduce()函数来操作,要写大量的map函数和reduce函数,雅虎开发了Pig ,Pig会转换为一堆map、reduce函数来执行,简化开发。
- Hive:雅虎有Pig,Fackbook也有自己的解决方案,开发了Hive。Hive更像SQL的语法,但是最终还是翻译为map、reduce函数来执行
- 总结:整个Hadoop生态系统中,HDFS和MapReduce是比较底层的东西,实际应用开发时,不太可能会用到,而是利用基于它们这两个核心之上的各种工具来开发。
4、用SqlServer数据库理解Hadoop生态系统
SqlServer数据库解决的问题是数据存储和对数据的增删改查等处理操作;Hadoop也是解决的是数据的存储和处理操作。所以可以对他们进行对比,很多都能匹配的上,虽然有些牵强,但是对理解Hadoop有一些帮助。
Hadoop生态系统
SqlServer数据库系统
HDFS
数据库
MapReduce
数据库管理系统
Hadoop
数据库系统
Pig
查询规划器
Hive
SQL语言
Sqoop
导入导出工具
ZooKeeper
Chukwa
SqlServer Profiler
- 初识Hadoop
- hadoop 初识
- hadoop初识
- 初识Hadoop
- 初识hadoop
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 初识hadoop
- 初识Hadoop
- hadoop初识
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 初识Hadoop
- 有关测试的各种模型
- 浅谈属性动画简单使用之实现爱的贝塞尔曲线浪漫告白效果(三)
- Unity3D手游开发日记(5) - 适合移动平台的植被随风摆动
- JQuery选择器中层级关系老是记不清楚怎么办,总结下看看。
- 以图搜图 相似图片搜索的原理(二)
- 初识Hadoop
- 正则表达式
- Java 二维维数组遍历测试
- MYSQL 5.7.11 服务无法启动解决方法
- HTML表单、HTTP Get与Post杂谈
- java中,下面的List怎么放入map里面,求高手!
- Scala之偏函数Partial Function
- Gradle在大型Java项目上的应用
- springmvc 异常org.springframework.web.servlet.DispatcherServlet noHandlerFound