1. Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心。

2. MapReduce是一个批量查询处理器,并且它能够在合理的时间范围内处理针对整个数据集的即时查询。

3. MapReduce适合一次写入、多次读取数据的应用,而关系型数据库更适合持续更新的数据集。二者的比较如表所述:

                    表1 关系型数据库和MapReduce的比较

  传统关系型数据库 MapReduce
数据大小 GB PB
访问 交互式和批处理 批处理
更新 多次读写 一次写入、多次读取
结构 静态模式 动态模式
完整性
横向扩展 非线性 线性

4. MapReduce对半结构化和非结构化数据非常有效(如文本或图像),因为MapReduce输入的键和值并不是数据固有的属性,而是由分析数据的人员来选择的。而关系型数据往往是规范的,以保持数据的完整性且不含冗余。

  MapReduce是一种线性可伸缩的编程模型。程序员编写两个函数:map和reduce,在每个函数定义一个键/值对集合到另一个键/值对集合的映射。这些函数无需关注数据集及其所用集群的大小,因此可以原封不动地应用到小规模或大规模数据集。

  数据本地化特性是MapReduce的核心特征,MapReduce的设计目标是服务于那些只需数分钟或数小时即可完成的作业,并且运行于内部通过高速网络连接的单一数据中心内,并且该数据中心内的计算机需要由可靠的、定制的硬件构成。

5. Apache Hadoop的生态圈

  1) Common: 一组分布式文件系统和通用I/O的组件与接口。

  2) Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。

  3) MapReduce:分布式数据处理模型和执行环境,运行于大型商用集群。

  4) HDFS:分布式文件系统,运行于大型商用集群。

  5) Pig:一种数据流语言和运行环境,用以检索非常大的数据集。

  6) Hive:分布式、按列存储数据库,管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据。

  7) HBase:分布式、按列存储的数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式和点查询。

  8) ZooKeeper:分布式、可用性高的协调服务。

  9) Sqoop:在数据库和HDFS之间高效传输数据的工具。

Hadoop学习笔记(1) 初识Hadoop的更多相关文章

  1. 大数据学习笔记之初识Hadoop

    1.Hadoop概述 1.1 Hadoop名字的由来 Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名 Hadoop的官网:http://hadoop.apache.org . 1.2 ...

  2. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...

  3. hadoop学习笔记--找到执行hadoop的入口

    参与个hadoop项目,之前没搞过,赶紧学习: 照葫芦画瓢,得到代码是hdfs2local.sh脚本和LiaoNingFilter.jar包,迫不及待用jd-gui打开jar包,搜索到main(在MA ...

  4. Hadoop学习笔记之一:Hadoop IPC

    因为某些原因需要把前一段时间对Hadoop(版本基于0.20.2)的学习积累搬到这里,成为一个系列.写得会很简单,只为必要时给自己提醒. IPC框架 所有Hadoop协议接口的实现都依赖Hadoop ...

  5. Hadoop学习篇 2 初识 Hadoop

    在一个全配置的集群上,运行Hadoop意味着在网络分布的不同服务器上运行一组守护进程 (daemons),这些守护进程或运行在单个服务器上,或运行与多个服务器上,他们包括: (1) NameNode( ...

  6. Hadoop学习1(初识hadoop)

    Hadoop生态系统的特点 1)源代码开源 2)社区活跃,参与者多 3)涉及分布式存储和计算的各方面 4)已得到企业界的验证 Hadoop构成 1) 分布式文件系统HDFS(Hadoop Distri ...

  7. Hadoop学习笔记系列

    Hadoop学习笔记系列   一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼 ...

  8. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  9. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

随机推荐

  1. Java的多线程机制系列:(一)总述及基础概念

    前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...

  2. 变量改变时PHP内核做了些什么?

    引言 内容来自于<Extending and Embedding PHP>- Chaper 3 - Memory Management,加上自己的理解,对php中变量的引用计数.写时复制, ...

  3. Resharper的使用

    一:Reshaper是什么 即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才是更强大的 ...

  4. WebService如何调试及测试工具

    http://www.cnblogs.com/zfanlong1314/archive/2012/04/06/2434788.html 通常,我们在Visual Studio里调试ASP.NET网站, ...

  5. Android开发之《常用工具及文档汇总》

    GreenVPN:https://www.getgreenjsq.com/ Android开发工具.资料下载汇总:http://androiddevtools.cn/#img-size-handle- ...

  6. [Unity3D]导入模型并且设置相应的属性

    将资源拷贝到Assets中并设置 首先确保法线贴图的属性如下: 设置基本贴图和法线贴图 因为要发布到移动端,设置shader属性: 为了设置更好的反光效果,添加cubemap: 添加新的Materia ...

  7. Android网络操作的几种方法

    安卓开发软件:AndroidStudio 服务器软件:Myeclipse+Tomcat 首先无论是哪种方式,安卓手机软件要想联网,必须要申请联网权限(android.permission.INTERN ...

  8. 表单提交按钮input和button、a的差异

    现在普遍的在网页中,表单提交数据的按钮最常见实用有三种,一种是input,一种是button,最后一种,是其他如a标签,div标签,span标签代替而来.在以前的日子里,大家都习惯于用input,因为 ...

  9. 【Tomcat】tomcat报连接超时错误

    程序一直报这个错误 [getui-server][ERROR] [2016-03-17 10:50:00] getui.task.HftMongoInfoTask.execute(137) | --H ...

  10. tyvj1086 Elevator

    背景 广东汕头聿怀初中 Train#2 Problem4 描述 现有N种箱子,每种箱子高度H_i,数量C_i.现选取若干箱子堆成一列,且第i种箱子不能放在高度超过A_i的地方.试求最大叠放高度. 输入 ...