Hadoop的项目结构

  1.Common。是为Hadoop其他子项目提供支持的常用工具。它主要包括FileSystem、RPC和串行化库,并且为运行在云计算环境平台上的软件开发提供所需的API。

  2.Avro。是用于数据序列化的系统。提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC的功能和简单的动态语言集成功能。

注意,Avro系统依赖于模式(Schema)。数据的读和写是在模式之下完成的。

3.MapReduce。是编程框架。从其自身的命名特点就可以看出,MapReduce是由两个阶段组成:Map和Reduce。用户只需编写map()和reduce()两个函数,即可完成简单的分布式程序的设计。

  map()函数以key/value对作为输入,产生另外一系列key/value对作为中间输出写入本地磁盘。MapReduce框架会自动将这些中间数据按照key值进行聚集,且key值相同(用户可设定聚集策略,默认情况下是对key值进行哈希取模)的数据被统一交给reduce()函数处理。

  Hadoop将输入数据切分成若干个输入分片(input split,简称split),并将每个split交给一个Map Task处理;Map Task不断地从对应的split中解析出一个个key/value,并调用map()函数处理,处理完之后根据Reduce Task个数将结果分成若干个分片(partition)写到本地磁盘;同时,每个Reduce Task从每个Map Task上读取属于自己的那个partition,然后使用基于排序的方法将key相同的数据聚集在一起,调用reduce()函数处理,并将结果输出到文件中。

  InputFormat将指定输入文件格式。将输入数据切分成若干个split,且将每个split中的数据解析成一个个map()函数要求的key/value对。

Partitioner确定map()函数产生的每个key/value对发给哪个Reduce Task函数处理。

OutputFormat指定输出格式,即每个key/value对以何种形式保存到输出文件中。

  reduce()函数以key及对应的value列表作为输入,经合并Key相同的value值后,产生另外一系列key/value对作为最终输出写入HDFS。

4.HDFS。是分布式文件系统。采用了主/从(Master/Slave)结构模型。一个HDFS集群是由一个NameNode 和若干个DataNode组成的。

5.Chukwa。是开源的数据收集系统,用于监控和分析大型分布式系统的数据。是在Hadoop的MapReduce和HDFS之上搭建的。Chukwa是通过HDFS来存储数据,并依赖MapReduce任务处理数据。

  6.Hive。是数据仓库工具。

  7.HBase。是分布式数据库。

8.Pig。是一个对大型数据集进行分析、评估的平台。

9.ZooKeeper。是一个为分布式应用所设计的开源协调服务。

时间: 2024-10-13 00:06:34

Hadoop的项目结构的相关文章

Hadoop离线项目介绍

Hadoop离线项目介绍(不包括程序) 一:项目场景 1.需求分析 根据用户行为数据进行程序的处理,得到结果保存到关系型数据库中 需要收集用户(系统使用者)在不同客户端上产生的用户行为数据,最终保存到hdfs上 需要明确收集字段的相关信息,而且需要考虑到后期的新需求的提出 总:收集不同客户端的用户行为数据,通过mr.hive进行数据分析处理,将分析结果数据保存到关系型数据库中 2.场景一 二:核心关注点 1.核心关注点 购买率 购买的人数/总人数 购买的人数/查看该商品的总人数 复购率 n次购买

Hadoop相关项目Hive-Pig-Spark-Storm-HBase-Sqoop

Hadoop相关项目Hive-Pig-Spark-Storm-HBase-Sqoop的相关介绍. Hive Pig和Hive的对比 摘要: Pig Pig是一种编程语言,它简化了Hadoop常见的工作任务.Pig可加载数据.表达转换数据以及存储最终结果.Pig内置的操作使得半结构化数据变得有意义(如日志文件).同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换. Hive Hive在Hadoop中扮演数据仓库的角色.Hiv阅读全文 hive的实现机制 摘要: hive利用hdfs存

云笔记开发记录一:node-webkit 项目结构?

node-webkit 项目结构? 一般用过nodejs写过点小东西的人,都应该知道nodejs项目一般都有一个package.json文件,这个package.json文件,该文件定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). 为什么要提 nodejs 的 package.json文件 呢,因为, node-webkit 项目它也有自己的 package.json文件 . 但是这两者是不同的! node-webkit的package.json是用来配置n

java创建运行以及项目结构

一 创建java project 再src下添加class,选择一个class添加main方法作为程序的入口 二.项目结构: src下添加不同的包,命名方法为com.jikexueyuan.hello.main/model/view.此时硬盘中会有项目名称文件夹下有bin和src,全部对应包的一级级目录,src中存放java文件,bin存放class二进制文件.此时还可以创建lib文件夹,用于存放第三方的库.将库文件add to path即可被引用. 三.eclipse代码自动补全 Window

ThinkPHP - 配置项目结构

配置项目结构: 项目如果分为前后台使用. 那么最关键的就是,使用公共部分文件的划分,其中最为核心的就是公共配置文件的使用. 下面介绍的就是怎么将前后台项目的公共部分提起出来. 首先是其他公共的文件夹: 这是最顶层的文件配置. 详细的目录说明,看下面: E:\PHP\WWW\THINKPHP │ admin.php //后台主入口文件 │ index.php //前台主入口文件 ├─Admin //后台文件夹 │ ├─Common │ ├─Conf //后台配置文件夹 │ │ config.php

Maven构建Hadoop Web项目

使用Maven构建Hadoop Web项目,此项目是一个样例Demo,方便开发专注于后台以及Hadoop开发的人员在其上构建自己定制的项目.该Demo提供了两个样例: 查看HDFS文件夹内容及其子文件/夹: 运行WordCount MR任务: 项目下载地址:Maven构建Hadoop Web项目 系统软件版本 Spring4.1.3 Hibernate4.3.1 Struts2.3.1 hadoop2.6 pure0.6 jdk1.7 tomcat7 myeclipse10.0 jQuery1.

上门洗车APP --- Androidclient开发 之 项目结构介绍

上门洗车APP --- Androidclient开发 之 项目结构介绍 前言 尽管公司项目较紧,但还是抽空给大家继续更新. o_O"~ 欢迎大家的关注,非常高兴和大家共同学习.前面给大家分享了项目中的以下内容: 上门洗车APP --- Androidclient开发 前言及业务简介 上门洗车APP --- Androidclient开发 之 网络框架封装介绍(一) 上门洗车APP --- Androidclient开发 之 网络框架封装介绍(二) 之前有非常多朋友私信过来说想打包一份源代码学习

[Erlang危机](2.1)项目结构

?? 原创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface Project Structure The structures of OTP applications and of OTP releases are different. An OTP application can be expected to have one top-level supervisor (if any) and possibly a bunch of

CSLA的项目结构(一)

由于我也是边看边学,在很多概念不是很清晰的情况下,也不好将书中的大段内容全部摘抄过来,所以结合项目源码先分析再总结,就成目前比较可行方案,第一篇先从项目结构入手. 项目源码下载后,主要的功能集中在Core项目文件夹的CSLA项目中,其他项目或从此处继承,或引用此项目,因此对整个项目的分析从此开始. 需要说明的是:解决方案\Core文件夹下,CSLA与CSLA.Net4的类基本是相同的,只是针对的编译环境不同,其他类似的文件夹也是这样的情况. 因为找到了主要的项目,其他在我的机子上不能编译或我用不