写点什么

MapReduce 模式、算法和用例

  • 2012-02-15
  • 本文字数:838 字

    阅读完需:约 3 分钟

随着 Hadoop 和大数据应用的爆发式增长,很多人正在寻找将他们已有的实现转为 MapReduce 方式的方法。不幸的是,除了《应用 MapReduce 进行数据密集的文本处理》《Mahout in Action》几本有名书籍之外,很少有关设计 MapReduce 实现的出版物。在新文章“MapReduce 模式、算法和用例”中,Ilya Katsov 提供了一个系统化的综述,阐述了能够应用 MapReduce 框架解决的问题。

文章开始描述了一个非常简单的、作为通用的并行计算框架的 MapReduce 应用,这个框架适用于很多要求大量节点进行的计算和数据密集型计算,包括物理和工程仿真,数值分析,性能测试等等。接下来是一组算法,通常用于日志分析、ETL 和数据查询,包括计数及求和,数据整理(基于特定函数),过滤,解析,验证和排序。

第二大部分是关于 MapReduce 模式,Katsov 讨论了包括多关系形 MapReduce 模式,通常用于数据仓库应用程序。这些模式在 Hive 和 Pig 实现中广泛使用,并包括基于推断 / 函数的数据选择,数据预测、数据联合、差分、交集和分组等聚集计算。另一个讨论是关于实现数据关联和包含等算法,例如 repartition join 和重复联合。

更进一步,这篇文章讨论了更为复杂的 MapReduce 处理算法,包括图处理、搜索算法(广度优先搜索)、page rank 数据集合算法,这些算法应用于图分析、web 索引和通用搜索应用。文章也涵盖了常见的、需要互相关计算的文本分析和市场分析的用例。这部分包含了”pairs“和”stripes”设计模式和它们的相对优劣。

最后,Katsov 给出了一个在机器学习领域实现更复杂 MapReduce 的很好的参考书目。

文中描述的大多数算法都有伪代码描述及它们的适用性,优势、劣势和一些真实的用例。

如今很多人仍面临应用 Hadoop 和 MapReduce 解决业务问题的困扰。有些人仍然认为 MapReduce 是“搜索业务问题领域的技术手段”。这篇文章是填补 MapReduce 算法、用例和设计模式空缺的重要一步。它展示了 MapReduce 强大的力量,而不仅仅是用那个声名狼藉的“词语计数”例子,并显示了 MapReduce 可以解决众多实际问题的方式。

2012-02-15 08:527064
用户头像

发布了 32 篇内容, 共 10.2 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

大作业二

ray-arch

大作业一

ray-arch

大学寒假这样过,过完惊艳所有人,不只是你的宿友,还有千千万万个程序员同行们!!!

沉默王二

程序员

华为 Python网络自动化

艺博东

Python 网络

京东App Swift 混编及组件化落地

京东科技开发者

swift 开发者

一看就懂的var、let、const三者区别

蛙人

JavaScript

无责任畅想:云原生中间件的下一站

阿里巴巴云原生

容器 微服务 云原生 dubbo 中间件

如何用 4 个小时搭建一个新 “Clubhouse” ,引爆声音社交新风口

阿里云CloudImagine

App 音视频 WebRTC RTC clubhouse

「产品经理训练营」第四章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

Elastic query string search

escray

Lucene Elastic Search 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

MyChat,一个私有的“微信“

米凤君

Java 微信 Netty IM JavaFx

编程范式( Programming paradigm )简介

引花眠

编程范式

图文详解:如何给女朋友解释什么是微服务?

浅羽技术

Java zookeeper 分布式 微服务 框架

第6周作业

Geek_mewu4t

第四章作业(一)

LouisN

嘿,同学,你要的Java内存模型(JMM)来了

Simon郎

Java 大数据 JVM

笔记本电脑电池显示4%可用(已接通电源),经过清灰又莫名奇妙的可以续航啦,很奇怪!

孙叫兽

电脑故障 电池

我用 Python 分析了一波热卖年货,原来大家都在买这些东西?

JackTian

Python 数据分析 数据可视化 2月春节不断更 年货

阿里云第七代ECS云服务器: 整体算力提升40%

赵钰莹

经典面试题:在浏览器地址栏输入一个 URL 后回车,背后发生了什么

飞天小牛肉

程序员 面试 计算机网络 网络协议 2月春节不断更

1.1w字,10图,轻松掌握 BlockingQueue 核心原理

马丁玩编程

阻塞队列 图解源码分析 JUC

作业4

瑾瑾呀

从架构设计理念到集群部署,全面认识KubeEdge

华为云开发者联盟

架构 容器 云原生 集群 kubeedge

研发效能,productivity 还是 performance

李小腾

产品经理训练营 -- 第四周作业

Denny-xi

产品经理 产品经理训练营

ARTS打卡 第30周

引花眠

微服务 ARTS 打卡计划

第4周左右

林亚超

使用Travis CI为工程搭建一个持续集成服务。

梁龙先森

大前端 持续集成 2月春节不断更

【STM32】点亮LED

AXYZdong

硬件 stm32 2月春节不断更

即拼商城模式开发

luluhulian

Redis Sentinel 源码:Redis的高可用模型分析

华为云开发者联盟

数据库 redis 高可用 框架 redis sentinel

MapReduce模式、算法和用例_架构_Boris Lublinsky_InfoQ精选文章