zoukankan      html  css  js  c++  java
  • 第一章之初识Hadoop笔记

    数据存储与分析

    要实现对多个磁盘数据的并行读写  需要解决的很多问题

    1  硬件故障问题。硬件多了,发生故障的概率变大。避免数据丢失的是备份。RAID(冗余磁盘阵列),HDFS

    2 大多数分析任务需要以某种方式结合大部分数据共同完成分析任务,一个磁盘读取得数据可能需要和另外的99个磁盘中

      读取的数据结合使用,各种分布式系统允许结合多个来源的数据并实现分析,但保证其正确性是一个很大的挑战,

    MapReduce提出一个编程模型,该模型将上述磁盘读写问题进行抽象,转换为一个对数据集(由 键/值 对组成)的计算。

    该计算由map和reduce两部分组成,而只有这两部分提供对外的接口。与HDFS类似,MapReduce自身也有较高的可靠性。

    与其它系统比

    mapreduce 每个查询至少处理整个数据集或者数据集的很大部分。改变了对传统数据的看法,对存放在磁带什么上面的数据赋予了

    创新的机会。

    关系型数据库管理系统,为什么使用mapreduce

    (1)磁盘的发展:寻址(将磁头移动到特定磁盘位置进行读写操作的过程)是导致磁盘操作延迟的主要原因,而传输速率取决于磁盘的带宽。

    如果数据访问存在大量寻址,那么读取大量数据集的时间更长。

    (2)如果数据库更新的话,只更新一小部分,那么传统的B树(关系数据库的结构,受限于寻址的比例)更有优势,但是数据库更新大量数据的时候,

    B树效率会比MapReduce低很多,因为需要使用 “排序/合并”(sort/merge)来重建数据库。

    (3)结构化程度不同的数据的处理。结构化(数据的格式如XML),半结构化(数据松散,可能有格式,但总被忽略,例如电子表格),

    非结构化(没有内部结构,文本图像什么的).Mapduce 对非结构化和半结构化的处理有效,因为在处理数据的时候才对数据进行解释,MapReduce输入的

    键和值并不是数据固有的属性,由分析人员选择的。关系型数据库规范,为了保证完整不冗余 ,mapreduce的核心假设之一就是它可以进行高速的流式读写操作。web服务器的日志就是非规范化的,so 适合分析日志。

    网格计算

    高性能计算是把作业分散到集群的各个机器上,这个机器访问由存储区域网络(SAN)组织的共享文件系统,数据节点需要访问大量地数据,那么计算节点会

    因为网络带宽的瓶颈问题而空闲下来等待数据。而MapDuce会尽量在计算节点上存储数据,以便实现数据本地快速访问。

    数据本地化(data locality)特征是MapReduce的核心特征。     mapreduce通过显示网络拓扑结构尽力保留网络带宽。

    大规模分布式的环境下,协调各个进程间的执行是一个很大的挑战。最难得是合理的处理系统部分失效的问题,在不知道远程的进程是否已经失效的

    情况下,还要继续完成整个计算。而Mapduce 让程序员无需考虑这个问题,因为自身的系统能够监测到失败的Map或者Reduce任务,让正常运行的

    机器重新执行这些失败的任务,因为采用了 无共享(shared-nothing)框架,所以MapReduce才能够进行失败监测,各个任务间彼此独立。

  • 相关阅读:
    easyui源码翻译1.32--ValidateBox(验证框)
    easyui源码翻译1.32--TreeGrid(树形表格)
    easyui源码翻译1.32--Tree(树)
    easyui源码翻译1.32--TimeSpinner(时间微调)
    easyui源码翻译1.32--Tabs(选项卡)
    easyui源码翻译1.32--SplitButton(分割按钮)
    easyui源码翻译1.32--Slider(滑动条)
    easyui源码翻译1.32--SearchBox(搜索框)
    广度和深度-活在当下!
    IT人为了家庭和自己请保重自己~活在当下!
  • 原文地址:https://www.cnblogs.com/honkcal/p/2600840.html
Copyright © 2011-2022 走看看