hadoop生态系统及简介
一、hadoop1.x的生态系统
HBase:实时分布式数据库
相当于关系型数据库,数据放在文件中,文件就放在HDFS中。因此HBase是基于HDFS的关系型数据库。实时性:延迟非常低,实时性高。
举例:在近18亿条数据的表中查询1万条数据仅需1.58s,这是普通数据库(Oracle集群,Mysql集群)无法办到的。
HDFS:分布式文件系统 MapReduce:分布式计算框架 Zookeeper:分布式协作服务
协作HBase存储、管理、查询数据,Zookeeper是一个很好的分布式协作服务框架。
Hive:数据仓库
数据仓库:
比如给你一块1000平方米的仓库,让你放水果。如果有春夏秋冬四季的水果,让你放在某一个分类中。但是水果又要分为香蕉、苹果等等。然后又要分为好的水果和坏的水果。。。。。
因此数据仓库的概念也是如此,他是一个大的仓库,然后里面有很多格局,每个格局里面又分小格局等等。对于整个系统来说,比如文件系统。文件如何去管理?Hive就是来解决这个问题。 Hive:
分类管理文件和数据,对这些数据可以通过很友好的接口,提供类似于SQL语言的HiveQL查询语言来帮助你进行分析。其实Hive底层是转换成MapReduce的,写的HiveQL进行执行的时候,Hive提供一个引擎将其转换成MapReduce再去执行。
Hive设计目的:方便DBA很快地转到大数据的挖掘和分析中。
Pig:数据流处理
基于MapReduce的,基于流处理的。写了动态语言之后,也是转换成MapReduce进行执行。和Hive类似。
Mahout:数据挖掘库
基于图形化的数据碗蕨。
Sqoop:数据库ETL工具
ELT:提取 --> 转换 --> 加载。
从数据库中获取数据,并进行一系列的数据清理和清洗筛选,将合格的数据转换成一定格式的数据进行存储,将格式化的数据存储到HDFS文件系统上,以供计算框架进行数据分析和挖掘。 格式化数据:
TSV 格式:每行数据的每列之间以制表符(tab \\t)进行分割 CVS 格式:每行数据的每列之间以逗号进行分割
Sqoop:将关系型数据库中的数据与HDFS(HDFS 文件,HBase中的表,Hive中的表)上的数据进行相互导入导出。
Flume:日志收集工具
将大的集群上面的每台机器的日志收集起来,自动地放到你指定的HDFS文件系统的某个路径中去。
Ambari:安装、部署、配置和管理工具
提供一个图形化工具对集群进行安装、部署、配置及管理,无需手动在命令行操作。
回到顶部
四、hadoop2.x的生态系统