当前位置: 首页 > news >正文

网站建设与运营财务报表长沙精品网站制作

网站建设与运营财务报表,长沙精品网站制作,南部县建设局网站,网站空间不能读数据库Hadoop之MapReduce 1. MapReduce是什么 MapReduce是一个分布式运算程序的编程框架#xff0c;旨在帮助用户开发基于Hadoop的数据分析应用。它的核心功能是将用户编写的业务逻辑代码与自带的默认组件整合#xff0c;形成一个完整的分布式运算程序#xff0c;并并发运行在一…Hadoop之MapReduce 1. MapReduce是什么 MapReduce是一个分布式运算程序的编程框架旨在帮助用户开发基于Hadoop的数据分析应用。它的核心功能是将用户编写的业务逻辑代码与自带的默认组件整合形成一个完整的分布式运算程序并并发运行在一个Hadoop集群上。 2. MapReduce的优点 1) 易于编程 MapReduce框架只需实现几个简单的接口用户便可以快速开发出一个分布式程序。这使得编写分布式程序的复杂性大大降低从而促进了MapReduce的普及。 2) 良好的扩展性 随着计算需求的增加用户只需简单地增加机器即可提升计算能力Hadoop会自动将任务分配到新增的节点上。 3) 高容错性 Hadoop设计时考虑到了在廉价PC机器上运行的需求因此具备高容错性。如果某个节点宕机Hadoop会自动将计算任务转移到其他节点上无需人工干预。 4) 适合PB级以上海量数据的离线处理 Hadoop可以实现大规模服务器集群的并发工作提供高效的数据处理能力。 3. MapReduce的缺点 1) 不擅长实时计算 MapReduce无法像MySQL或Oracle那样在毫秒或秒级内快速返回查询结果适合批处理场景而非实时应用。 2) 不擅长流式计算 MapReduce的输入数据集是静态的无法处理动态输入数据因此不适合流式计算场景。 3) 不擅长DAG有向无环图计算 对于存在依赖关系的多个应用程序MapReduce在处理时会导致大量的磁盘IO影响性能。 4. MapReduce核心思想 以统计单词出现次数为例MapReduce程序通常分为两个阶段Map阶段和Reduce阶段。 Map阶段 读取输入数据并按行处理。按空格切分每一行生成键值对KV对。将KV对按键分区分发到不同的Reduce任务。 Reduce阶段 每个Reduce任务接收并处理来自Map阶段的输出数据。统计以特定字母开头的单词数量。将结果输出到文件。 案例流程 输入数据一个包含多个单词的文本文件。Map阶段将这些单词分为不同的分区例如 分区1以a-p开头的单词分区2以q-z开头的单词 Reduce阶段统计每个分区的单词数量输出结果到文件。 假设我们有一个文本文件内容如下 apple banana grape orange kiwi banana apple orange peach kiwi banana zebra grape orange1. InputFormat InputFormat 将读取这个文本文件并将其分割成多个Splits。假设每行作为一个Split。 Split 1: apple banana grapeSplit 2: orange kiwi bananaSplit 3: apple orange peachSplit 4: kiwi banana zebraSplit 5: grape orange 2. Map阶段 在Map阶段Mapper会处理每个Split并将每个单词映射为键值对KV对。 2.1 Mapper处理 对于每个Split中的每一行Mapper会按空格分隔单词并生成中间的KV对。例如 对于Split 1: apple banana grape 生成 KV 对 (apple, 1)(banana, 1)(grape, 1) 对于Split 2: orange kiwi banana 生成 KV 对 (orange, 1)(kiwi, 1)(banana, 1) 对于Split 3: apple orange peach 生成 KV 对 (apple, 1)(orange, 1)(peach, 1) 对于Split 4: kiwi banana zebra 生成 KV 对 (kiwi, 1)(banana, 1)(zebra, 1) 对于Split 5: grape orange 生成 KV 对 (grape, 1)(orange, 1) 2.2 生成的中间KV对 经过Mapper处理所有中间的数据可能如下所示 (apple, 1) (banana, 1) (grape, 1) (orange, 1) (kiwi, 1) (banana, 1) (apple, 1) (orange, 1) (peach, 1) (kiwi, 1) (banana, 1) (zebra, 1) (grape, 1) (orange, 1)3. Shuffle阶段 Shuffle阶段负责将这些中间的KV对根据键进行分组和排序。 3.1 分区逻辑 将相同键的所有中间KV对聚集到一起并根据字母范围进行分区 分区1a-q: apple: (apple, 1), (apple, 1)banana: (banana, 1), (banana, 1), (banana, 1)grape: (grape, 1), (grape, 1)kiwi: (kiwi, 1), (kiwi, 1)orange: (orange, 1), (orange, 1)peach: (peach, 1) 分区2r-z: zebra: (zebra, 1) 4. Reduce阶段 Reduce阶段会有两个Reducer分别处理这两个分区的数据。 4.1 ReduceTask处理 ReduceTask 1处理分区1 a-q 输入(apple, 1) (apple, 1) (banana, 1) (banana, 1) (banana, 1) (grape, 1) (grape, 1) (kiwi, 1) (kiwi, 1) (orange, 1) (orange, 1) (peach, 1)处理统计数量输出apple: 2 banana: 3 grape: 2 kiwi: 2 orange: 2 peach: 1ReduceTask 2处理分区2 r-z 输入(zebra, 1)处理输出zebra: 15. 输出 最终结果将被写入到HDFS中的指定文件格式如下 apple: 2 banana: 3 grape: 2 kiwi: 2 orange: 2 peach: 1 zebra: 15. MapReduce运行三大进程 MapReduce运行时的进程包括 MrAppMaster负责整体程序的调度和状态协调。MapTask负责Map阶段的数据处理流程。ReduceTask负责Reduce阶段的数据处理流程。
http://www.hkea.cn/news/14570614/

相关文章:

  • 网站开发工具最好用建设银行网网站打不开
  • 电子商务网站建设效果郑州百姓网免费发布信息
  • 现在可以做网站么wordpress安装如何填数据库
  • 品牌网站建设搜搜磐石网络wordpress版本下载
  • 不良网站举报中心官网wordpress黄页
  • 网站开发首选语言哪个网站支持接单做网页的
  • 网站代理怎么赚钱网站建设营销型
  • 网站搭建商上海网站怎么备案在哪里
  • 国外建站程序电商运营主要工作内容
  • 北京市住房与城乡建设部网站网站谁做的比较好看
  • 怎样免费建立自己的网站discuz模板开发教程
  • 广东三网合一网站建设报价wordpress 茶叶模板
  • 合肥做网站的的公司有哪些网站开发需要的技术
  • 网站建设初期广告传媒公司注册费用
  • 网站设计这个专业怎么样企业网站设计的基本原则有哪些
  • 襄阳云平台网站建设世界500强设计公司有哪些
  • 烟台正规网站建设甘肃网站排名公司
  • 沈阳三好街网站建设创业it外包公司
  • 网站建设对企业的要求django做的网站有哪些
  • 深圳品牌网站设计公司wordpress 微博图床
  • 可以免费做宣传的网站1 建设好自媒体门户网站
  • 南昌手机网站制作如何做魔道祖师网站
  • AWS免费套餐做网站可以吗响应式网站开发现状
  • 柳州企业网站制作哪家好网页搭建模板
  • 乐云seo模板网站建设竹溪县县建设局网站
  • 题库网站怎么做各大房产网站
  • php做商城网站怎么做好外包公司前端面试难吗
  • 哪家公司的网站做得好东营 微信网站建设
  • 朝阳免费网站制作苏宁易购电子商务网站建设目标
  • 网站做管理员功能代码网站建设合同 协议书