Page 214 - “互联网+”背景下政务工作信息化研究与探索
P. 214

“互联网 +”背景下政务工作信息化研究与探索
                    Research and Exploration on Informatization of Government Affairs under the Background of “Internet +”


                MapReduce程序(map reduce job)由客户端提交到集群中的具体专门节点,

            根据集群配置及作业的属性等选定运行环境,分mapper和reducer两个阶段处理
            数据,键/值对(key-valuepair)是MapReduce的基础数据结构。MapReduce在大
            数据处理时,会根据要处理的数据文件及用户编写的map函数首先将数据分割为
            多个部分(split),而后为每一个split启动一个map任务(maptask),这些map

            任务由MapReduce运行环境调度着分散运行于集群中的一个或多个节点上;每个
            mapper执行结束后,都可能会输出许多的键值对,称作中间键值对,这些中间键
            值对临时性地存放在某处,直到所有的mapper都执行结束;MapReduce再把这些

            中间键/值对依键聚合重新进行分割为一个或多个分组,同一组可以包含一个或
            多个键及其对应的数据,MapReduce运行环境会为每个分组启动一个reduce任务
            (reducetask),这些reduce任务由MapReduce运行环境调度着运行于集群中的一
            个或多个节点上。

                MapReduce先进之处还在于它利用执行框架分离了编写并行算法的对象和方
            法,程序员不需关注所有底层执行的细节,并能保证MapReduce集群处理能力随
            着节点的增加而线性增长,即集群规模增长N倍其处理相同规模数据的时长也会

            缩短N倍,使海量数据并行处理被“分割包围、逐个歼灭”。这些正是快速分析
            大数据所需要的计算能力。
                2.分布式文件系统HDFS

                HDFS(如图8-3所示)为MapReduce的计算框架而设计,将数据存储于多个
            节点上,采用计算节点与存储节点合二为一的集群模型,极大地降低了数据通
            过网络传送的需求。且可以在低成本设备上实现。HDFS的主旨是数据分块与复

            制。相对于本地磁盘几KB大的块(block),HDFS中的块要大得多(通常默认
            64M)。HDFS存储下来数据主要用于后续的处理分析,其访问模型为“一次写
            入、多次读取”;因此,数据在HDFS中存储完成后,仅能在文件尾部附加新数
            据,而不能对文件进行修改。HDFS首先访问namenode以确定文件存放位置。对

            于客户端请求,namenode将会返回datanode节点号与块号。客户端根据节点号与
            块号访问对应的datanode,获取文件数据。需要注意的一点是文件数据传输只发
            生于客户端与datanode之间,不经过namenode;客户端与namenode之间只会传输

            元数据。
                HDFS通常默认将每个数据块在不同机架的机器上存储3份,以确保可靠性、


            202
   209   210   211   212   213   214   215   216   217   218   219