写点什么

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

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

关注

评论

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

软件测试 | 测试开发 | 一步一步学测试平台开发-Vue restful请求

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 静态扫描体系集成

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 搞清楚这六个能力模型,轻松应对互联网裁员潮

测吧(北京)科技有限公司

测试

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

太神了!阿里p7大佬总结的Java面试心得,起始—进阶—突击,一应俱全!

Geek_0c76c3

Java 数据库 开源 程序员 架构

从启动到关闭 | SeaTunnel2.1.1源码解析

Apache SeaTunnel

软件测试 | 测试开发 | 测试平台开发-前端开发之数据展示与分析

测吧(北京)科技有限公司

测试

技术分享 | 实战演练

测吧(北京)科技有限公司

测试

企业知识分享|如何设计产品手册/产品说明书?

Baklib

软件测试 | 测试开发 | 接口抓包分析与Mock实战

测吧(北京)科技有限公司

测试

易宝正式加入openGauss社区

图尔兹正式加入openGauss社区

喜报!霍格沃兹第二届火焰杯软件测试高校选拔赛荣获大奖

测吧(北京)科技有限公司

测试

CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

OneFlow

人工智能 前沿动态

新零售SaaS架构:中央库存系统架构设计

AI架构师汤师爷

SaaS 架构设计 新零售 库存系统

Java 8的新特性

琦彦

java8 10月月更

Log4j2远程执行代码漏洞如何攻击? 又如何修复

琦彦

log4j2 Log4j2 漏洞 10月月更

火山引擎在行为分析场景下的ClickHouse JOIN优化

字节跳动数据平台

数据库 数据分析 OLAP Clickhouse 数据研发

东方大唐正式加入openGauss社区

软件测试 | 测试开发 | Jenkins通过什么方式报警?

测吧(北京)科技有限公司

测试

Qualcomm Atheros wallys QCA9880 Dual Band 2.4GHz 5GHz 2x2 MIMO 802.11ac Mini PCIE WiFi Module//QCA9882 3x3 FCC/CE/IC

wallys-wifi6

QCA9880 QCA9882

软件测试 | 测试开发 | 做到这几点,你也能成为 BAT 的抢手人!

测吧(北京)科技有限公司

测试

JVM——内存泄漏与内存溢出

琦彦

JVM 内存泄漏 内存溢出 10月月更

秋招收到10几个offer 说说我的想法吧

Geek_0c76c3

Java 数据库 开源 程序员 开发

挑选文档协作工具的技巧

Baklib

实现企业内部知识流通?搭建企业内部Wiki

Baklib

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题

阿里巴巴云原生

阿里云 Serverless 云原生

软件测试 | 测试开发 | Frida 实现 Hook 功能的强大能力

测吧(北京)科技有限公司

测试

ElasticSearch 不停服升级实践

移动云大数据

elasticsearch

微服务的设计模式,你用了几个

琦彦

微服务架构 设计模式 10月月更

openGauss企业级开源数据库获第十届中国电子信息博览会金奖

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