写点什么

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

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

关注

评论

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

启智社区开源项目推荐 | 面向智慧城市的计算机视觉算法基准测试 Benchmark for Smart City上线

OpenI启智社区

计算机视觉 开源项目

什么是云效,云效平台

阿里云云效

阿里云 DevOps 云原生 研发 研发提效

呼叫医生云! Amazon HealthLake 正式推出

亚马逊云科技 (Amazon Web Services)

存储

如何用建木CI导入导出MySQL数据

Jianmu

MySQL 数据库 持续集成 CI/CD

【JavaScript Weekly #399】JavaScript引擎基础(下):优化原型

道道里

JavaScript 前端

百分点感知智能实验室:声纹识别技术发展及未来趋势研究

百分点科技技术团队

14 主流的开源监控系统介绍

穿过生命散发芬芳

1月月更 开源监控系统

【JavaScript Weekly #399】JavaScript引擎基础(上):形态和内联缓存

道道里

JavaScript 前端

云效测试篇:测试用例&缺陷管理 | 云效快速入门

阿里云云效

阿里云 DevOps 云原生 云效 测试管理

Amazon Redshift 表设计优化 – 优化已有数据表中的列大小

亚马逊云科技 (Amazon Web Services)

存储

如何构建智能湖仓架构?亚马逊工程师的代码实践来了

亚马逊云科技 (Amazon Web Services)

计算

从零实现一个 VuePress 插件

冴羽

Vue 前端 博客 vuepress 博客搭建

Amazon DynamoDB 在智能湖仓架构中的实践

亚马逊云科技 (Amazon Web Services)

存储

Back-to-Basics: Two-Way String Matching

袁世超

微帧ROI视频智能编码:基于人眼感兴趣区域,实现极致观感体验

微帧Visionular

视频编码

构建面向异构算力的边缘计算云平台

火山引擎边缘云

gpu 云原生 边缘计算 算力

【Node Weekly #417】你需要了解的Node.js内存限制

道道里

前端 Node

云钉一体加速,阿里云计算巢与钉钉深度融合、共建应用新生态

阿里云弹性计算

阿里云 计算巢 云合计划 云钉一体

【高并发】要想学好并发编程,关键是要理解这三个核心问题

冰河

并发编程 多线程 高并发 协程 异步编程

【JavaScript Weekly #570】 新一代构建工具对比

道道里

前端 vite 打包 webpack babel

DevOps峰会 | 研发效能实践助力互联网行业项目管理“行之有效”

有道技术团队

DevOps

一个cpp协程库的前世今生(十九)event

SkyFire

c++ cocpp

低代码实现探索(十七)前端种草点

零道云-混合式低代码平台

网络安全kali渗透学习 web渗透入门kali系统的安装和使用。

学神来啦

Java实现创建Zip压缩包并写入文件

CRMEB

云原生下的指标与日志采集

尔达Erda

程序员 容器 云原生 监控 中间件

投稿开奖丨“轻量应用服务器”征文活动(9&10月)大奖公布

阿里云弹性计算

阿里云 轻量应用 征文投稿开奖

产业协同,助力数转 | 鲸鲮正式加入中国电信5G产业创新联盟

鲸鲮JingOS

Linux 5G 操作系统 信创 电信

【Frontend Focus #532】前端性能优化

道道里

前端 性能 浏览器

研究完PagerDuty,我发现一款好用的国产告警管理软件

睿象云

DevOps 运维

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