hadoop结构



core/common 基础包,0.20开始叫common。该子项目作为其他子项目的寄出工具包

avro 用于数据序列化,提供丰富的数据类型,快速可压缩的二进制数据格式,存储持久性数据的文件集,远程调用RPC,和简单的动态语言集成功能。其中代码生成器既不要读写文件数据,也不需要使用或者实现RPC协议,它只是一个可选的对静态类型语言的实现。它依赖模式(schema),它的数据读写都是在schema下进行的。这样是为了减少数据写入的开销,提高序列化的熟读和减少大小。也方便动态脚本语言的使用。因为数据连接同模式(schema)都是自描述的。

MapReduce mapreduce是一种编程模型,用于大规模数据集(大于1tb)的并行运算。map(映射)reduce(化简)的概念是从函数式编程语言借鉴而来,它执行时需要先指定一个map函数,输入键值对映射成一个新的键值对。经过一定处理后交给reduce进行化简,reduce再对输入的键值对进行处理,返回最后的键值对。
而新的Map Reduce架构被称为yarn(0.23),记住是架构,不是替代。也就是yarn本身依然是mapreduce设计模型下进行的,但是实现方式,与之前的mapreduce有变化,但是API是一样的。




HDFS是一个分布式文件系统 就有高容错性,可以部署在低廉的设备上,提供高吞吐来访问应用的数据,适合那些有超大数据集的应用程序。通过流的方式访问文件系统。通过块block分割方式,把一个大数据文件,分散到不同的应用磁盘中,每个块大小默认64MB,并且对每个块在不同硬盘进行备份(默认备份3份)。

由于需要实现高吞掉两,因此对于数据访问速度,会失去很多的。

chukwa是开源的数据收集系统。用于监控和分析大型分布系统的数据。chukwa是在hadoop的hdfs和mapreduce之上搭建的。它同时集成了hadoop的可扩展性和健壮性。它通过hdfs来存储数据,通过mapreduce来处理数据。它附带了强大的工具,来显示,监视和分析数据。

hive是最初是facebook设计的,建立在hadoop之上的数据仓库。提供了数据整理,特殊查询和分析,它支持类似于SQL的HIVE QL,hive编译器把HQL编译成了mapreduce任务。

Hbase是一个分布式面向列的数据库(nosql)提供了bigtable的能力。hbase适合存储非结构化的数据。基于列,而不是基于行。一个数据行拥有一个可选的键,和任意数量的列。由于数据是疏松的,所以用户可以给行定义不同的列。

pig是对大型数据集进行分析和评估的平台。它能够经受住高并行化的检验。该特性使得它能处理大型的数据集。底层是一个编译器。再运行的时候产生mapreduce。

猜你喜欢

转载自liyixing1.iteye.com/blog/2221627