物联网技术导论课件解析.ppt

  1. 1、本文档共335页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3 海量数据存储 HDFS的数据组织与操作 – 文件写入 1)首先,客户端调用DistributedFileSystem中的create()方法创建文件。 2)DistributedFileSystem通过RPC调用名称节点,在文件系统的命名空间里创建新文件,实际上此时并为给该文件分配单元块。名称节点通过检查确认该文件以前不存在,并且客户端有权创建该文件,如果检查通过,名称节点就生成新文件记录,否则文件创建失败并抛出IOException。DistributedFileSystem向客户端返回FSDataOutStream开始写数据。类似于文件读取操作,FSDataOutputStream封装DFSOutputStream来处理与名称节点和数据节点的通讯。 6.3.1 基于文件的数据存储技术 - HDFS 6.3 海量数据存储 HDFS的数据组织与操作 – 文件写入 3)客户端写入数据时,DFSOutputStream把数据分成一些数据包,把这些数据包写入内部数据队列供DataStreamer使用,它还负责询问名称节点选择合适的存储副本的数据节点列表,并分配新的单元块。该数据列表组成一个管道,如图3所示,如果副本级别是3,管道中就有三个数据节点。 4)FSDataOutputStream向管道的第一个数据节点传送数据,该数据节点写入完成后,管道将数据包转发给第二个数据几点,完成后再转发到第三个(或最后一个)数据节点。 5)DFSOutputStream维护一个内部数据包队列,等待数据节点的应答。只有管道里所有数据节点都写入并应带,该数据包才移出应答队列。 6)当客户端完成数据写入后,调用FSDataOutputStream的close()方法关闭。 7)最后,DistributedFileSystem通知名称节点写文件结束。 6.3.1 基于文件的数据存储技术 - HDFS 6.3 海量数据存储 HDFS的数据组织与操作 – 副本策略 6.3.1 基于文件的数据存储技术 - HDFS 6.3 海量数据存储 HDFS的数据组织与操作 – 副本策略 好的副本策略能有效改进数据的可靠性、可用性和利用率。 HDFS采用机架感知(Rack Awareness)策略实现副本策略。在机架感知过程中,名称节点可以获取每个数据节点所属机架的编号。 HDFS的默认副本系数为3。副本1优先存放在客户端节点上,如果客户端没有运行在集群内,就选择任意机架的随机节点;副本2存放到另外一个机架的随机节点上;副本3和副本2存放在同一机架,但是不能在同一节点上。 三分之一的副本在一个节点,三分之二的副本在一个机架,这样能够有效减少机架见的数据传输。既不破坏数据可靠性和读取性能,同时改进了写入性能。 6.3.1 基于文件的数据存储技术 - HDFS Hadoop中的MapReduce计算模型将公共细节部分抽象为一个库,由公共引擎统一处理。编程者不需要过多考虑程序本身的分布式存储和并行处理细节,相应的容错处理、数据分布、负载均衡等也由公共引擎完成。 6.3 海量数据存储 6.3.1 基于文件的数据存储技术 - MapReduce 6.3 海量数据存储 MapReduce计算模型 – 基本思想和编程模型 MapReduce主要反映了映射和规约两个概念,分别完成映射操作和规约操作。 MapReduce是一种非机器依赖的并行编程模型,可给予高层的数据操作编写并行程序,MapReduce框架的运行时系统自动处理调度和负载均衡问题。 MapReduce把并行任务定义为两个步骤:首先map阶段把输入数据元素划分为区块,映射生成中间结果key,value对,在reduce阶段按照相同键值规约生成最终结果。计算利用一个输入key/value对集来产生一个输出key/value对集。 6.3.1 基于文件的数据存储技术 - MapReduce 6.3 海量数据存储 MapReduce计算模型 – 基本思想和编程模型 6.3.1 基于文件的数据存储技术 - MapReduce 6.3 海量数据存储 MapReduce计算模型 – 基本思想和编程模型 Map操作是一类将输入记录集转换为中间格式记录集的独立任务,将输入键值对(key/value)映射为一组中间格式的键值对。该中间格式记录集不需要与输入记录集的类型一致,一个给定的输入键值key, value对可以映射成0个或多个输出键值key, value对。 Reduce操作将key相同的一组中间数值集规约为一个更小的数值集。通常,Reduce操作包括shuffle和排序操作。 在映射规约计算模型中,认为大部分操作和映射操作相关,映射对输入记录的每个逻辑“record”进行运算,产生一组中间key, value对,然后

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档