hadoop学习笔记<一>----hadoop简介
2013-04-07 22:23
295 查看
什么是hadoop?
hadoop 是一个可编程和运行分布式应用,用来处理大数据的开源框架。
Hadoop主要子项目
Hadoop Common: 在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common
HDFS: Hadoop 分布式文件系统 (Distributed File System) - HDFS (Hadoop Distributed File System)
MapReduce:并行计算框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
HBase: 类似Google BigTable的分布式NoSQL列数据库。(HBase 和 Avro 已经于2010年5月成为顶级 Apache 项目)
Hive:数据仓库工具,由Facebook贡献。
Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
和其他分布式架构比较:
SETI@home(就是寻找外星人那个):是将数据传送到要计算的地方(运行屏保的计算机),经过计算,再将计算结果传回到数据中心。
hadoop的做法:将代码向数据所在的地方迁移。
和普通的数据库比较:
1.处理的对象不一样。
传统数据库处理的是 结构化的数据,如 表的结构都是固定的。结构化查询语言(Structured Query Language)简称SQL.
hadoop更多的是处理半结构化的数据或者非结构化的数据,如分析日志记录,统计字符出现的次数等等。
2.拓展方式不一样
hadoop的拓展是向外拓展,即需要扩容的时候,增加普通的机器。
普通数据库拓展是向高拓展,即更换更好的机器。(当然也可以向外拓展,这点有待讨论...)
3.hadoop用键值对代替数据表
传统数据库是让数据以某种模式存放在具有关系数据库的模式中。基于这种模式来对数据进行处理。hadoop将数据转化为键/值对来进行处理
4.hadoop用函数式编程(MapReduce)代替sql
5.hadoop用离线批量处理代替在线处理(hadoop为离线处理和大规模数据分析而设计,
更适合于 一次写入,多次读取 的情况,类似于sql的数据仓库)
==============================================================
我也是刚开始学习hadoop,学习的资料来自于 《hadoop实战》和《hadoop权威指南》 以及网上搜到的一些资料。
这些笔记是学习的过程中自己积累的,然后用更加浅显的话表述出来,希望也能帮助到初学者。当然里边会有很多错误,也希望大家指出,我会认真改正,谢谢
hadoop 是一个可编程和运行分布式应用,用来处理大数据的开源框架。
Hadoop主要子项目
Hadoop Common: 在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common
HDFS: Hadoop 分布式文件系统 (Distributed File System) - HDFS (Hadoop Distributed File System)
MapReduce:并行计算框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API
HBase: 类似Google BigTable的分布式NoSQL列数据库。(HBase 和 Avro 已经于2010年5月成为顶级 Apache 项目)
Hive:数据仓库工具,由Facebook贡献。
Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
和其他分布式架构比较:
SETI@home(就是寻找外星人那个):是将数据传送到要计算的地方(运行屏保的计算机),经过计算,再将计算结果传回到数据中心。
hadoop的做法:将代码向数据所在的地方迁移。
和普通的数据库比较:
1.处理的对象不一样。
传统数据库处理的是 结构化的数据,如 表的结构都是固定的。结构化查询语言(Structured Query Language)简称SQL.
hadoop更多的是处理半结构化的数据或者非结构化的数据,如分析日志记录,统计字符出现的次数等等。
2.拓展方式不一样
hadoop的拓展是向外拓展,即需要扩容的时候,增加普通的机器。
普通数据库拓展是向高拓展,即更换更好的机器。(当然也可以向外拓展,这点有待讨论...)
3.hadoop用键值对代替数据表
传统数据库是让数据以某种模式存放在具有关系数据库的模式中。基于这种模式来对数据进行处理。hadoop将数据转化为键/值对来进行处理
4.hadoop用函数式编程(MapReduce)代替sql
5.hadoop用离线批量处理代替在线处理(hadoop为离线处理和大规模数据分析而设计,
更适合于 一次写入,多次读取 的情况,类似于sql的数据仓库)
==============================================================
我也是刚开始学习hadoop,学习的资料来自于 《hadoop实战》和《hadoop权威指南》 以及网上搜到的一些资料。
这些笔记是学习的过程中自己积累的,然后用更加浅显的话表述出来,希望也能帮助到初学者。当然里边会有很多错误,也希望大家指出,我会认真改正,谢谢
相关文章推荐
- Hadoop学习笔记之<输入格式>
- <JAVA学习笔记一>——程序的国际化
- cocos2dx lua学习笔记 <一> quick 3.5把自定义C++类绑定到lua
- hadoop学习笔记之<用eclipse开发>
- 【Java编程】Java学习笔记<一>
- cmake 学习之路 笔记<一>
- Android NDK学习 <一> 简介
- <C++学习笔记一>——多继承
- hadoop学习笔记之<hadoop fs和hdfs dfs命令>
- hadoop学习笔记之<Call From localhost/127.0.0.1 to localhost:9000 failed...>
- hadoop学习笔记<二>----hadoop集群环境的配置
- Android NDK学习 <一> 简介
- ThinkPHP 学习笔记<一>:ThinkPHP常用函数说明
- Android NDK学习 <一> 简介
- Hadoop学习笔记之<搭建环境>
- Android NDK学习 <一> 简介
- hadoop学习笔记<四>----map-reduce工作原理
- Celery 的学习笔记--tornado异步开发的好朋友<一>
- net-snmp学习笔记<一> — 介绍
- hadoop学习笔记<三>----HDFS