配上官方介绍

What Is Apache Hadoop?

    The Apache™ Hadoop® project develops open-source software for reliable, scalable, **distributed**(分布式) computing.

    The Apache Hadoop software library is a framework that allows for the **distributed**(分布式) processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

    The project includes these modules:

        Hadoop Common: The common utilities that support the other Hadoop modules.公用工具,是其他工具的基础
        Hadoop Distributed File System (HDFS™): A **distributed**(分布式) file system that provides high-throughput(吞吐量) access to application data.
        Hadoop YARN: A framework for job scheduling(安排) and cluster(集群) resource management.
        Hadoop MapReduce: A YARN-based system for parallel(并行) processing(处理) of large data sets.

###common
####公用工具,基础

###MapReduce
####功能:对海量数据的处理
#####分布式思想
#####分而治之
#####每个数据集,进行逻辑业务处理(map)
#####合并统计数据结果(redece)

###HDFS
####功能:存储海量数据
####分布式,安全性(三个副本数据)

###YARN
####分布式资源管理框架
*管理整个集群的资源(内存,cpu核数)
*分配调度集群的资源

Hadoop是一个开源框架,用于解决数据爆炸增长,带来的处理问题。是一个集群式计算机解决方案,主要有以下几个特点

  • 方便--Hadoop一般用于云计算的基础之上
  • 健壮--Hadoop设计的时候假设计算机的硬件常常崩溃,它设计上能容忍这种问题的发生
  • 可拓展--相Hadoop通过增加集群节点,可实现大规模拓展
  • 简单--这个,,。。相对比较简单吧

Hadoop集群示意图

相对于其他分布式系统:Hadoop的理念是把代码向数据搬移,甚至在集群中,通常让数据和计算在同一计算机上完成。

相对与传统数据库相比,Hadoop更能适应非结构化或者半结构化的数据,毕竟不是所有的数据都是结构化的,关系型数据库使用SQL语句查询数据,而Hadoop的MapReduce使用脚本和代码来进行查询操作,更适应非结构化的数据统计模型。

什么是MapReduce

就像管道模型和队列模型一样,MapReduce是一种数据处理模型。分解一个数据应用为mapper(过滤和转换)和reducer(聚合),具有十分简单的拓展性,能够轻易拓展到集群中的其他机器上运行。

MapReduce的键值对应表

 

输入

输出

map

<k1,v1>

list<k2,v2>

reduce

<k2,list(v2)>

list<k3,v3>

(用筛选重复单词的例子)我理解的数据流过程:

(1)每个机器分到1篇文章,输入<k1文件名,v1文件内容>

(2)使用mapper的map函数进行处理,一般来说,k1(文件名)会被mapper忽略,输出一个list<apple,10><banane,20>….的列表

(3)输入<apple,list(1,2,3,4,5312,123,1,2….)>这个单词在每个机器上的汇总

(4)使用Reducer的reduce方法输出list<apple,1000><bananer 2000>这样的总的汇总列表

什么是Hadoop的更多相关文章

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

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

  2. 初识Hadoop、Hive

    2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...

  3. hadoop 2.7.3本地环境运行官方wordcount-基于HDFS

    接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...

  4. hadoop 2.7.3本地环境运行官方wordcount

    hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...

  5. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  6. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  7. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  8. Hadoop 2.x 生态系统及技术架构图

    一.负责收集数据的工具:Sqoop(关系型数据导入Hadoop)Flume(日志数据导入Hadoop,支持数据源广泛)Kafka(支持数据源有限,但吞吐大) 二.负责存储数据的工具:HBaseMong ...

  9. Hadoop的安装与设置(1)

    在Ubuntu下安装与设置Hadoop的主要过程. 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了. 2. 安装Java环境 下载Lin ...

  10. 基于Ubuntu Hadoop的群集搭建Hive

    Hive是Hadoop生态中的一个重要组成部分,主要用于数据仓库.前面的文章中我们已经搭建好了Hadoop的群集,下面我们在这个群集上再搭建Hive的群集. 1.安装MySQL 1.1安装MySQL ...

随机推荐

  1. 谈一谈Java8的函数式编程(二) --Java8中的流

    流与集合    众所周知,日常开发与操作中涉及到集合的操作相当频繁,而java中对于集合的操作又是相当麻烦.这里你可能就有疑问了,我感觉平常开发的时候操作集合时不麻烦呀?那下面我们从一个例子说起. 计 ...

  2. 三、 添加视图View(ASP.NET MVC5 系列)

    在这一章节我们可以修改HelloWorldController类,通过使用视图模板来封装处理产生给客户端的HTML响应. 我们将使用Razor View engine来创建视图文件.基于Razor的视 ...

  3. JMeter-MyEclipse编译运行问题(Could not read JMeter properties file)

    JMeter-MyEclipse编译运行问题按照 此贴 http://phoenix0529.iteye.com/blog/1530728 进行配置,然后用Ant编译Build.xml 是可以的. 但 ...

  4. HTML中部分标签的嵌套问题

    书写HTML结构的时候,对于标签的嵌套问题,在我发现这个问题之前,都不在自己的考虑之中,还傻傻的以为标签之间是可以进行百搭的! 其实,有些标签是不能进行随意嵌套,如果你没有深受其害,你是不会发现它的存 ...

  5. React复习小结(一)

    一.React的发展 facebook在构建instagram网站的时候遇见两个问题: 1.数据绑定的时候,大量操作真实dom,性能成本太高 2.网站的数据流向太混乱,不好控制 于是facebook起 ...

  6. Js之浅谈dom操作

    JavaScript之浅谈dom操作 1.理解dom: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两 ...

  7. 【Android】又一个Gank客户端来啦

    介绍 Gank平台的移动端又来了,非常感谢Gank平台开放接口,让我们这些小白有机会练手.学习. 本项目在架构方面有稍微花点心思,虽然还是最简单的MVC模式,但基本参考MVP的思想,Activity只 ...

  8. 点评阿里JAVA手册之编程规约(OOP 规约 、集合处理 、并发处理 、其他)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为三星(★★★) 本文为第二篇 第一篇 点评阿里JAVA手 ...

  9. jQuery链式操作如何返回上一级DOM

    有时候我们在链式操作的时候,选择到了其他的DOM进行操作,如何再返回先前的dom呢,有一下几个方法,end(); addBack(); add(); 使用形式 $("#divFather&q ...

  10. (转)java web 学习之路(学习顺序)

    第一步:学习HTML和CSS HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的基本条件.HTML很容易学习的,但也很容易误用,要学精还得费点功夫. 随着HTML5的发展和普及 ...