本自学笔记来自于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系统中,有JobTracker和TaskTracker,前者关注Name Node, 后者关注TaskNode, 在YARN里面JobTracker 会更仔细一点,分成几个分别关注job或者data等

2. Hadoop Projects

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

b) HBase, Cassandra.  HBase是NOSQL类的数据库。Hadoop的数据存储方式。而且与Pig和Hive无缝集成,基于google的big table, 能够支持数百万列和亿行的数据。

Cassandra主要涉及用来与Hadoop数据进行即时交互的工具。

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

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

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

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

3. Hadoop Incubation:

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

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

c) Chukwa:

d) Zookeeper:同步server和不同的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/

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

05-11 01:26