MapReduce初探
来源:互联网 发布:淘宝关键词网站 编辑:程序博客网 时间:2024/05/18 12:32
云计算的关键技术主要包括:虚拟化、海量数据处理、大规模分布式存储、消息通信、快速部署、资源调度、多租户技术、许可证管理与计费。。。作为一个到目前为止还没有一个清晰的统一的概念的应用模式,云计算无疑是有着广阔的前景。
本文对云计算中所用到的MapReduce做一个小小的初探,简要介绍一下其思路。
What?什么是MapReduce。
MapReduce是一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。
MapReduce实现了Map和Reduce两个功能
–Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集
–Reduce对结果集进行分类和归纳
–Map()和 Reduce() 两个函数可能会并行运行,即使不是在同一的系统的同一时刻
How?案例:单词记数问题(Word Count)
问题提出:给定一个巨大的文本(如1TB),如何计算单词出现的数目?
下面使用MapReduce求解该问题,思路如下:
首先定义Map和Reduce函数
Map(K, V)
{
For each word w in V
Collect(w, 1);
}
Reduce(K, V[])
{
int count = 0;
For each v in V
count += v;
Collect(K, count);
}
Step 1: 自动对文本进行分割
Step 2:在分割之后的每一对<key,value>进行用户定义的Map进行处理,再生成新的<key,value>对
Step 3:对输出的结果集归拢、排序(系统自动完成)
Step 4:通过Reduce操作生成最后结果
通过简单的图示,我们可以对MapReduce有一个初步的认识。当然,还是比较模糊。以后的文章,会进一步介绍。
- MapReduce初探
- MapReduce WordCount 代码初探
- MapReduce程序初探 -------------- WordCount
- MapReduce模型初探(二)
- Hadoop MapReduce初探 自己写的MapReduce程序
- Hadoop新旧API对比初探+链式mapreduce
- Hadoop初探之MapReduce+HBase实例
- Hadoop初探:用MapReduce 进行大数据分析
- MapReduce
- MapReduce
- MapReduce
- MapReduce
- mapreduce
- MapReduce
- MapReduce
- MapReduce
- MapReduce
- mapreduce
- 不同的数据源,不同的数据操作流程——记录下最近的项目心得
- 面朝大海,春暖花开
- jQuery 滚动列表
- Android之用户定位(User Location)二
- 线性方程组红黑排序算法
- MapReduce初探
- ATI自动化测试杂志 2011年12月刊 及2011年特别版 下载
- log4j:ERROR org.jboss.logging.appender.FileAppender object is not assignable错误
- 解析spring MVC3 <mvc:annotation-driven> 实现
- MacOS X 命令查看CPU信息
- Linux时间同步设置
- ORACLE SQL性能优化系列 (一)
- IOS开发之触摸与点击事件:UITapGestureRecognizer与UIPanGestureRecognizer应用
- 卡马克卷轴算法实现android版