zoukankan      html  css  js  c++  java
  • 【Hadoop】大数据时代,我们为什么使用hadoop

    博客已转移,请借一步说话。http://www.daniubiji.cn/archives/538

    我们先来看看大数据时代,

    什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB ,多少PB 来说。

    对于大数据,可以用四个词来表示:大量,多样,实时,不确定。

    也就是数据的量庞大,数据的种类繁杂多样话,数据的变化飞快,数据的真假存疑。

    大量:这个大家都知道,想百度,淘宝,腾讯,Facebook,Twitter等网站上的一些信息,这肯定算是大数据了,都要存储下来。

    多样:数据的多样性,是说数据可能是结构型的数据,也可能是非结构行的文本,图片,视频,语音,日志,邮件等。

    实时:大数据需要快速的,实时的进行处理。如果说对时间要求低,那弄几个机器,对小数据进行处理,等个十天半月的出来结果,这样也没有什么意义了。

    不确定: 数据是存在真伪的,各种各样的数据,有的有用,有的没用。很难辨析。

    根据以上的特点,我们需要一个东西,来:

    1存储大量数据

    2快速的处理大量数据

    3从大量数据中进行分析

    于是就有了这样一个模型hadoop。

    hadoop的历史就不说了。先来看看模型。

     

    这就相当于一个生态系统,或者可以看成一个操作系统XP,win7.

    HDFS和MapReduce为操作系统的核心,Hive,Pig,Mathout,Zookeeper,Flume,Sqoop,HBase等,都是操作系统上的一些软件,或应用。

    HDFS:(Hadoop Distributed File System),Hadoop分布式文件系统。从名字上就看出了它的两点功能。

    基本功能,存文件,是一个文件系统;另外这个文件系统是分布式的;

    从图上来看,HDFS的简单原理。

    Rack1,Rack2,Rack3是三个机架;

    1,2,3,4,5,6,7,8,9,10,11,12 是机架上的十二台服务器。

    Block A, Block B, Block C为三个信息块,也就是要存的数据。

    从整体布局上来看,信息块被分配到机架上。看似很均匀。这样分配的目的,就是备份,防止某一个机器宕机后,单点故障的发生。

    MapReduce,(Map + Reduce),就看成是计算的功能。可以对数据进行处理。

    它加快了计算。主要也是通过上图的布局。将数据分布到多个服务器上。当有任务了,比如查询,或者比较大小,先让每台服务器,都处理自己的存储中文件。然后再将所有服务器的处理结果进行第二次处理。最后将结果返回。

    其实,hadoop还有一点好处,就是省钱。

    框架开源的,免费的,服务器也不用特别牛X的。

    省钱才是硬道理。

     另外,从别的资料看到一种解释mapreduce的方式,很简单

    Goal: count the number of books in the library.

    Map: You count up shelf #1, I count up shelf #2.

    (The more people we get, the faster this part goes. )

    Reduce: We all get together and add up our individual counts.

  • 相关阅读:
    百度APP爬虫
    python多线程与多进程
    navicat激活
    flask简单登录注册
    U盘启动盘还原
    flask报错:werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you mean 'single' instead?
    mysql复制表(同一数据库,不同数据库)
    pycharm修改注释颜色
    requirements文件
    itchat娱乐
  • 原文地址:https://www.cnblogs.com/laov/p/3401461.html
Copyright © 2011-2022 走看看