Hadoop是一个利用大规模计算机集群,可处理大量数据的分布式并行框架。
Hadoop 官网
Hadoop的核心设计包括HDFS和MapReduce。

HDFS

HDFS(Hadoop Distributed File System)是一种分布式文件系统。
主要特点:1.高容错性;2.高吞吐量访问;3.线性扩展(扩充容量只是增加DataNode数量,可在不停止系统的情况下做扩展)
HDFS架构图:

一篇优秀的介绍HDFS原理的blog:HDFS的运行原理

MapReduce

MapReduce是一种分布式计算框架,被用于并行计算海量数据。其核心步骤包括Map(任务处理)和Reduce(结果汇总)两部分。

上图来自知乎用户流通回答。用于海量处理的计算机分为两种,一种是Master,负责调度;另一种是Worker,包括Map和Reduce,Map将数据处理完毕后,将结果传送给Reduce汇总,如上图。

Pig

Pig是构建在MapReduce之上的一种SQL-like的高级查询语言。

Hive

Hive是构建在Hadoop集群之上的数据仓库应用,可以将结构化的数据文件映射为一张数据库表,其提供了SQL-like的HQL作为数据访问接口。

介绍Hive的一篇blog:hive介绍

Mahout

Mahout是一个分布式机器学习算法集合。包括分布式协调过滤的实现,分类和聚类等。是一种很强大的数据挖掘工具。
介绍Mahout的blog:Mahout学习

HBase

HBase是一种构建在HDFS之上的分布式、面向列的key-value存储系统(可以称为key-value数据库)。用于解决Hadoop只能批量处理,并且以顺序方式访问数据的问题。HBase提供快速随机访问海量结构化数据。
HBase教程

Sqoop

Sqoop是一种用于Hadoop与传统数据库(如Mysql)之间进行数据传递的工具。

Flume

Flume,日志系统,是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

Chukwa

类似于Flume,另一种Hadoop日志系统。有篇blog比较了hadoop的一些日志系统:开源日志系统比较:scribe、chukwa、kafka、flume

Hadoop中一些重要概念简要总结的更多相关文章

  1. Hadoop中的各种排序

    本篇博客是金子在学习hadoop过程中的笔记的整理,不论看别人写的怎么好,还是自己边学边做笔记最好了. 1:shuffle阶段的排序(部分排序) shuffle阶段的排序可以理解成两部分,一个是对sp ...

  2. hadoop中Text类 与 java中String类的区别

    hadoop 中 的Text类与java中的String类感觉上用法是相似的,但两者在编码格式和访问方式上还是有些差别的,要说明这个问题,首先得了解几个概念: 字符集: 是一个系统支持的所有抽象字符的 ...

  3. python 中面向对象的概念

    原文 域和作用空间 本地域,函数域(nonlocal)和 全局域(global) def scope_test(): def do_local(): spam = "local spam&q ...

  4. Hadoop中Writable类之二

    1.ASCII.Unicode.UFT-8 在看Text类型的时候,里面出现了上面三种编码,先看看这三种编码: ASCII是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语和其他西欧语言.它是现 ...

  5. 浅析 Hadoop 中的数据倾斜

    转自:http://my.oschina.net/leejun2005/blog/100922 最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一 ...

  6. 在HADOOP中使用MRUNIT进行单元测试

    在HADOOP中使用MRUNIT进行单元测试 前提 1. 了解JUnit4.x的使用. 2. 了解Mock的概念在单元测试中的应用. 3. 了解Hadoop中MapReduce的编程模型. 如果您对J ...

  7. Hadoop 中HDFS、MapReduce体系结构

    在网络环境方面,作为分布式系统,Hadoop基于TCP/IP进行节点间的通信和传输. 在数据传输方面,广泛应用HTTP实现. 在监控.通知方面,Hadoop等分布式大数据软件则广泛使用异步消息队列等机 ...

  8. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  9. WebLogic 中的基本概念

    完全引用自: WebLogic 中的基本概念 WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来, ...

随机推荐

  1. scala读写文件 comparing values of types Unit and Int using `!=' will always yield true

    由于scala没有对写入文件的支持,所以写文件时通常借助java进行IO操作 //方式一(小文件) /* val s1 = Source.fromFile("D:\\inputword\\h ...

  2. 【BZOJ 1017】 [JSOI2008]魔兽地图DotR

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1017 [题意] [题解] 设f[i][j][k] 表示第i个节点以下的总花费为j, 然 ...

  3. 编程算法 - 背包问题(三种动态规划) 代码(C)

    背包问题(三种动态规划) 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目參考: http://blog.csdn.net/caroline_wen ...

  4. WPF 等距布局

    原文:WPF 等距布局 本文告诉大家如何使用 WPF 的自定义布局做等距布局. 实际做的效果很简单,因为在开发我容易就用到了等距的控件.等距控件就是在指定的宽度下,平均把控件放在水平的地方,这样相等于 ...

  5. Diffie-Hellman Key Exchange – A Non-Mathematician’s Explanation

    The Complete Diffie-Hellman Key Exchange Diagram The process begins when each side of the communicat ...

  6. 强大的 pdf 编辑器 —— Acrobat

    菜单栏中的 [编辑](Edit)⇒ [编辑文本和图像](Edit Text & Images) 可以随意地编辑当前 pdf 中的文本信息,和图像信息: pdf 格式的转换,更是不在话下. 转 ...

  7. Linux经常使用的命令(21) - find参数具体解释

    一.使用name选项: 文件名称选项是find命令最经常使用的选项.要么单独使用该选项,要么和其它选项一起使用.  能够使用某种文件名称模式来匹配文件,记住要用引號将文件名称模式引起来.  无论当前路 ...

  8. oracle授权grant

    alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...

  9. 向西项目管理工具Git一片

    前言 Git 这个词相信大家并不陌生,做开发的童鞋们每天都离不开它.当然,假设你的项目中没实用到分布式,那么,你可能从未用过 Git,当然也可能没听过.只是,这不是重点,重点是这一篇文章,我们将一起谈 ...

  10. AvalonDock的基本用法

    原文:AvalonDock的基本用法         AvalonDock是优秀的开源项目,用于创建可停靠式布局,能够在WPF中方便开发出类似VS2010的软件界面.对于复杂的软件系统,大量控件的使用 ...