`
cenwenchu
  • 浏览: 160997 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

    中午左右收到一个看我blog的朋友的邮件,最近他在研究mapreduce,然后想用hadoop来做一些工作,不过遇到了一些问题,我这边也贴一下他的几个问题,同时觉得自己把自己的一些看法分享一下,当然只是自己的一些想法,也许对新学习的同学有帮助。

   问题:

  1. 从Map(K,V)的方式来看,难道mapreduce只能做统计?
  2. 目前我想除了日志分析之类的功能外,还想做一个全文检索的功能,类似windows查询一下,通过关键字查询文件的位置即可(可能还要根据匹配度做排序),这个我很迷茫不知道怎么下手,痛苦ing
  3. 你的实践是一个单机模式,如果用户把一个1G的log已经上传到hdfs了,此时分割工作已经完成,只需要从client那里得到文件基本信息和块的location就可以了,那mapreduce怎么进行下去呢?

   我给回复的邮件内容:

   首先,MapReduce的思想和Hadoop的MapReduce的架构不是一个概念,说的具体一点也就是Hadoop的架构设计只是MapReduce的一个子集思想的实现。每个人都可以根据自己对MapReduce的理解去实现业务处理,简单来说多线程处理就是MapReduce的一种最简单的实现,复杂来说多机协调工作就是一种复杂的实现。

   MapReduce的思想里面最值得借鉴的:

   a.问题分而治之。(找到流程的关键路径,优化可以并行处理的工作)

   b.计算靠近数据。(这也是hdfs存在的最重要的特点,计算的转移往往要比数据转移廉价,特别是对海量数据的处理)

   c.数据规模化随着并行处理成数量级递减。

   剩下的内容就是各个框架对于非业务性需求的处理,例如容灾,如何尽量少穿数据协调处理等等。

   针对他提出的三个问题:

    1. Hadoop的mapreduce从架构上来说最适合的就是统计分析计算。做其他方面的工作需要考虑是否适合,而不是为了技术而技术,先有需求再有技术选型。
    2.  对于你这个需求直接用搜索技术实现就可以了,不一定要硬套在mapreduce上。
    3. 对于海量数据是否一定要到hdsf上,或者就简单得数据物理或者逻辑切割来直接处理,根据自己业务场景选择。hdfs的特点就是对文件切割,容灾,数据逻辑存储和物理存储无关性(便于扩容管理,同时也是计算靠近数据的技术保证)。

    是否使用MapReduce框架,HDFS存储关键还是看你是否真的需要,当现有框架对自己来说并不合适的时候可以对小规模问题定制MapReduce的处理,最简化就是你去多线程或者多进程处理问题,需求决定技术选型。

  

分享到:
评论

相关推荐

    MapReduce简介

    大规模数据处理时,MapReduce在三个层面上的基本构思 如何对付大数据处理:分而治之 对相互间不具有计算依赖关系的大数据,实现并行最自然的办法就是采取分而治之的策略 上升到抽象模型:Mapper与Reducer MPI等...

    Mapreduce#文档.docx

    MapReduce 思想在生活中处处可见。或多或少都曾接触过这种思想。 MapReduce 的思想核心是“ 分而治之”,适用于大量复杂的任务处理场景(大规模 数据处理场景)。即使是发布过论文实现分布式计算的谷歌也只是实现...

    一种具有容错机制的MapReduce模型研究与实现 (2014年)

    针对传统MapReduce模型的容错机制对错误的处理效率低下等问题,提出了一种基于多核虚拟机的具有容错机制的MapReduce模型。该模型使用检查点机制进行错误恢复,并只对中间结果和必要的状态信息进行保存;利用虚拟机在...

    基于单元集群的MapReduce中节点失效的改进|rticle-215510.pdf

    针对传统MapReduce框架中任务节点和工作节点的失效问题,提出了在配置备份节点的分层主从式MapReduce框架中加入单元集群的处理方法。在改进框架中,任务处理的最小单位是单元集群,当单元集群中的某个工作节点失效...

    论文研究 - 基于任务合并的粮食大数据处理数据清理方法的改进

    数据质量对谷物大数据的应用产生了重要影响,因此数据清理是... 在本文中,我们优化了数据清理的几个模块,例如实体标识,不一致的数据恢复和缺失值填充。 实验结果表明,本文提出的方法可以提高粮食大数据清洗的效率。

    LeoTask:轻量高效可靠的并行任务运行和结果聚合(多核上的MapReduce)

    使用该框架的应用程序可以在中断后继续运行,而不会丢失其计算结果。 | | 特征: 自动和并行参数空间探索。 灵活的基于配置的结果聚合。 编程模型仅关注关键逻辑。 可靠且自动的中断恢复。 超轻巧〜300KB的...

    Hadoop实战中文版

    5.2.1 Reduce侧的联结 5.2.2 基于DistributedCache的复制联结 5.2.3 半联结:map侧过滤后在reduce侧联结 5.3 创建一个Bloom filter 5.3.1 Bloom filter做了什么 5.3.2 实现一个Bloom filter 5.3.3 Hadoop 0.20...

    大数据导论-6.1.4-熟悉大数据处理技术——大数据的处理模式.pptx

    MapReduce提供了以下的主要功能: 1)数据划分和计算任务调度 2)数据/代码互定位 3)系统优化 4)出错检测和恢复 二、批处理模式——1. MapReduce批处理 MapReduce设计上具有以下主要的技术特征: 1)向"外"横向...

    Hadoop权威指南 第二版(中文版)

     在MapReduce中使用压缩  序列化  Writable接口  Writable类  实现定制的Writable类型  序列化框架  Avro  依据文件的数据结构  写入SequenceFile  MapFile 第5章 MapReduce应用开发  配置API  合并多个...

    Hadoop权威指南(中文版)2015上传.rar

    在MapReduce中使用压缩 序列化 Writable接口 Writable类 实现定制的Writable类型 序列化框架 Avro 依据文件的数据结构 写入SequenceFile MapFile 第5章 MapReduce应用开发 配置API 合并多个源文件 可变的扩展 配置...

    Hadoop实战(陆嘉恒)译

    map侧过滤后在reduce侧联结5.3 创建一个Bloom filter5.3.1 Bloom filter做了什么5.3.2 实现一个Bloom filter5.3.3 Hadoop 0.20 以上版本的Bloom filter5.4 温故知新5.5 小结5.6 更多资源第6 章 编程实践6.1 开发...

    百度地图毕业设计源码-MapReduce:初学MR的一些实践

    MapReduce 初学MR的一些实践 HDFS 1 HDFS概述 1.1 HDFS产生背景 ​ 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理...

    嵌入式系统/ARM技术中的出厂设置的恢复—HIVE注册表

    Hive组件具有保存注册表功能,使用了hive, 注册表修改后可以保存。  相信大家对Windows系统的注册表(registry)一定都不陌生了,我们可以用系统提供的注册表编辑器(regedit)来访问和修改注册表中的数据。在...

    大数据学习计划.pdf

    3 传统数据仓库在⾯对更⼤规模数据时显得⼒不从⼼,在寄希望于⼤数据平台时,MapReduce 编程门槛让很多数据分析师望⽽却步,⽽Hive 是基于Hadoop的⼀个数据仓库⼯具,可以将结构化的数据⽂件映射为⼀张数据库表,并...

    Hadoop实战

    895.2.1 Reduce侧的联结 905.2.2 基于DistributedCache的复制联结 985.2.3 半联结:map侧过滤后在reduce侧联结 1015.3 创建一个Bloom filter 1025.3.1 Bloom filter做了什么 1025.3.2 实现一个Bloom filter 1045.3.3...

    Hadoop实战手册

    第三部分为系统管理篇,主要介绍hadoop的部署的各种模式、添加新节点、退役节点、快速恢复、mapreduce调优等。《hadoop实战手册》适合各个层次的hadoop技术人员阅读。通过阅读《hadoop实战手册》,hadoop初学者可以...

    Spark大数据技术与应用课件

    spark学习课件,让你深入浅出学习spark。Spark是Hadoop MapReduce的替代方案。MapReudce不适合迭代和...Spark拥有MapReduce具有的优点,但不同于MapReduce,Spark中间输出结果可以保存在内存中,减少读写HDFS的次数。

    大数据开发笔试.docx

    从最新检查点后,hadoop将对每个文件的操作都保存在edits中,为避免edits不断增大,secondary namenode就会周期性合并fsimage和edits成新的fsimage,edits再记录新的变化, 这种机制有个问题:因edits存放在Namenode...

    FusionInsightHD华为大数据平台.pdf

    FusionInsightHD华为⼤数据平台 华为FusionInsight HD是⼀个分布式数据处理系统,对外提供⼤容量的数据...在迭代计算的场景下,数据处理过程中的数据可以存储在内存中,提供了⽐MapReduce⾼10到 100倍的计算能⼒。Spa

    出厂设置的恢复—HIVE注册表

    Hive组件具有保存注册表功能,使用了hive, 注册表修改后可以保存。  相信大家对Windows系统的注册表(regiSTry)一定都不陌生了,我们可以用系统提供的注册表编辑器(regedit)来访问和修改注册表中的数据。在...

Global site tag (gtag.js) - Google Analytics