Hadoop自学笔记(一)常见Hadoop相关项目一览

来源:互联网 发布:mac pro 文本编辑器 编辑:程序博客网 时间:2024/04/26 06:56

本自学笔记来自于Yutube上的视频Hadoop系列,网址:

https://www.youtube.com/watch?v=-TaAVaAwZTs(其中一个)

以后不再赘述


自学笔记,难免有各类错误纰漏,请看者慎重。


Hadoop的使用还有大数据时代什么的就不说了。Hadoop不是一个单独的工具,而是一整个生态系统,包含一系列工具。所以首先要先介绍一下Hadoop相关的工具和各类概念,是以后常常会接触到的。


1. Hadoop Core


a) HDFS  Hadoop分布式文件系统,Hadoop的核心之一,会把TB, PB, ZB的数据分割成为以64M(默认)大小的数据块分布存储在不同硬盘上,并且给予备份(默认3份)


b) MapReduce Hadoop的数据处理模型。简单来说,处理可以分为Map阶段和Reduce阶段,Map阶段找出要处理的数据,Reduce阶段来处理这些数据得到想要的结果。


c) YARN  未来版本,相当于MapReduce2.0版。一些升级比如,原来的MapReduce系统中,有JobTrackerTaskTracker,前者关注Name Node, 后者关注TaskNode, YARN里面JobTracker 会更细致一点,分成几个分别关注job或者data


2. Hadoop Projects


a) PigHive:负责分析数据的。有点类似Hadoop里面的SQL工具。主要是因为每次使用就去写MapReduce程序太麻烦(而且也不是人人都喜欢java),所以有这些工具来提供类SQL的支持。区别是Pig更像提供了一种脚本语言,然后会将其转化为MapReduce, 而Hive提供类SQL语言,叫HiveQL


b) HBase, Cassandra.  HBaseNOSQL类的数据库。Hadoop的数据存储方式。并且与PigHive无缝集成,基于googlebig table, 可以支持数百万列和亿行的数据。 Cassandra主要涉及用来与Hadoop数据进行即时交互的工具。  


c) HCatalog, Lucene, Hama, Crunch: HCatalog是日志工具,可以记录我们用不同的工具如Pig, Hive的查询记录等。Lucene提供搜索功能,各类搜索。Hama在分析科学研究数据时候常用,Crunch用来表现MapReducepipeline。上述四个工具都可以提供可视化的界面。


d) Avro, Thrift: 提供数据的序列化/,让我们可以把数据序列化后在不同的程序间共享。Avro可以说是Hadoop主要的数据序列化工具。 Thrift主要用于不同开发语言间的数据序列化。


e) Drill, Mahout: 数据智能化,Drill用于数据挖掘;Mahout用于数据分类等,比如根据你听的音乐智能推荐。


3. Hadoop Incubation:

a) Sqoop: 关系数据库和hadoop之间的数据交换

b) Flume: 即时日志处理系统

c) Chukwa: 

d) Zookeeper:同步服务器和不同的Cluster之间和合作,同时提供统一管理界面

e) Oozie: 大致相当于任务管理,比如先完成一个Pig,然后再做一个Hive,然后Sqoop转换,用Oozie控制 

f) Knok,安全控制

g) HDT,用eclipse来开发Hadoop,比如MapReduce等。

h) Spark:宣称比Hadoop快上百倍,主要把hadoop硬盘操作的东西放入内存中操作。Shark类似Spark,相对应hive.

i) Ambari:管理整个project的工具

j) 详细每一种工具,可以去incubator.apache.org/projects/

0 0