写点什么

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:526569
用户头像

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

关注

评论

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

阿那亚:靠客户反馈驱动企业成长

石云升

商业价值 服务 7月日更

没想到专科的我,仅凭阿里这份JDK源码笔记居然拿到了年薪30W的offer

Java架构师迁哥

RTC月度小报5月丨教育aPaaS灵动课堂升级、抢先体验VUE版 Agora Web SDK、声网Agora与HTC达成合作

声网

月度小报 行业深度

上架一夜遭全网封杀!阿里大牛熬夜半年手码的Java面试指南太强了

Java 编程 程序员 架构师

论工作几年深陷业务代码的程序员如何实现自我提升

北游学Java

Java 程序人生

【报名】百度EasyDL研讨会:揭秘智能化硬件AI应用的技术难点与行业落地

百度大脑

人工智能 智能化

性能测试误差对比研究(四)

FunTester

性能测试 接口测试 测试框架 测试开发 误差分析

hbase运维故障案例分析

GrowingIO技术专栏

大数据 运维 HBase

上架一夜遭全网封杀!阿里大牛熬夜半年手码的Java面试指南太强了

白亦杨

围观|解读新一代企业数字化架构的“三驾马车”

尔达Erda

开源 DevOps 云原生 数字化转型 数字化

创业邦专访丨兼容国内外市场的代码分析软件,鉴释科技帮助企业减少bug发生率

鉴释

创业公司

BoCloud博云:ESB老旧力不能支,微服务独立自治强势替代

BoCloud博云

微服务

gitlab忘记root用户的密码

阿呆

gitlab #GitLab

揭秘百度微服务监控:百度游戏服务监控的演进

百度开发者中心

云计算 微服务 最佳实践 方法论 云原生

如何使用 Kind 快速创建 K8s 集群?

尔达Erda

开源 云原生 k8s PaaS kind

六种主要服务器管理协议简单概述-行云管家

行云管家

行云管家 服务器协议 服务器管理

成为Linux大佬的学习之路-规划

学神来啦

Linux 运维 linux运维 linux学习

postgresql主从搭建

阿呆

postgresql

架构实战训练营模块三课后作业

Clarke

百度前端三面面试题全部公开,三面的最后一个问题令我窒息

前端依依

百度 面试 大前端 经验总结

性能测试误差对比研究(三)

FunTester

性能测试 接口测试 测试框架 误差分析

并发问题的源头

Java旅程

Java 并发编程

我们三岁啦!

鉴释

直播回顾丨鉴释首席架构师刘新铭为您解读“第一性原则”

鉴释

软件开发 代码质量 软件质量与安全

鉴释课堂丨编译器技术入门知识一网打尽

鉴释

编译器 编译器原理

工程师文化落地的几点思考

baiyutang

敏捷 敏捷开发 精益开发 精益思想 敏捷管理

2021全国人工智能师资培训走进北理工,百度飞桨助力高校教师提升AI能力

百度大脑

人工智能 高校

VSCode 断点调试 electron-vue 主进程

admin

Vue 调试 Electron

敏捷教练的困境与出路:一个管理者的视角

蔡建斌

管理 技术管理 敏捷教练 引航计划 内容合集

String、StringBuiler和StringBuffer面试那些事

Java旅程

Java 并发

51CTO专访|鉴释首席架构师刘新铭:让软件开发更安全、更高效

鉴释

编译器

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