Mengdong的技术博客

学习,记录,分享

导航

随笔分类 -  MapReduce, Hadoop, HDFS, HBase

Why MapReduce?
摘要:现在MapReduce/Hadoop以及相关的数据处理技术非常热,因此我想在这里将MapReduce的优势汇总一下,将MapReduce与传统基于HPC集群的并行计算模型做一个简要比较,也算是对前一阵子所学的MapReduce知识做一个总结和梳理。引言随着互联网数据量的不断增长,对处理数据能力的要求也变得越来越高。当计算量超出单机的处理能力极限时,采取并行计算是一种自然而然的解决之道。在MapReduce出现之前,已经有像MPI这样非常成熟的并行计算框架了,那么为什么Google还需要MapReduce,MapReduce相较于传统的并行计算框架有什么优势,这是本文关注的问题。文章之初先给出一 阅读全文

posted @ 2011-08-22 16:25 mdyang 阅读(2063) 评论(0) 推荐(2) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(5)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html因为最近工作比较忙,没有时间继续写这本书的读书笔记,所以本系列将会暂停一段时间。3.5 关系连接相关wiki:Join: http://en.wikipedia.org/wiki/Join_(SQL)Nested Loop Join: http://en.wikipedia.org/wiki/Nested_loop_join(译者:整个3.5都更像是数据库教程, 阅读全文

posted @ 2011-07-23 21:19 mdyang 阅读(1536) 评论(1) 推荐(1) 编辑

分治法解决MapReduce stripe模式内存瓶颈问题
摘要:本文内容基于之前的一篇博文《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(2):pair模式与stripe模式。这一节的末尾提出一个问题:stripe模式因为需要在mapper内维护一个关联数组,因此无法处理语料的词汇表非常大的情况。随后文章给出了一个解决思路:划分词汇表。但没有给出具体解决方法。本文针对这个思路,谈一谈如何通过划分词汇表的方式解决stripe模式存在的内存瓶颈。本文仅从抽象算法的层面对这个思路进行细化,不涉及具体的程序设计。因为条件所限,我目前尚无hadoop编程经验。空谈难免会有错误之 阅读全文

posted @ 2011-07-21 16:15 mdyang 阅读(1229) 评论(2) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(4)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html3.4 二次排序在中间结果进入reducer之前,MapReduce会先将这些中间结果进行排序,然后再进行分发。这个机制对于依赖中间结果输入顺序(按照key的顺序)的reduce操作非常方便。反序(orderinversion)模式便是利用这个机制的一个例子。但如果有更进一步的排序需求呢(在前面的基础上再按value排序)?有了二次排序,能够保证到达reduce 阅读全文

posted @ 2011-07-20 14:16 mdyang 阅读(880) 评论(0) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(3)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html3.3 计算相对频度(relative frequency,频率)改进共现矩阵:使用相对频度回顾上一节的内容,对于n×n的共现矩阵(co-orrurancematrix)m,mij的值是单词wi与wj在指定上下文范围内共现(co-orrurance)的次数。考虑现实中的一种情况:有的单词在本文中出现的次数远远多于其他单词(例如the)就会发现,使用这种 阅读全文

posted @ 2011-07-18 11:37 mdyang 阅读(1089) 评论(0) 推荐(1) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(2)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html3.2 对(pairs)与带(stripes)本节用一个自然语言处理(Natural Language Processing, NLP)中的常见示例来说明pair和stripe两种数据组织模式的区别。这个示例是共现矩阵(Co-occurance Matrix)的计算。共现矩阵在NLP中,共现矩阵是一个n×n的方阵,n是所需处理的语料中的单词数(不同单词 阅读全文

posted @ 2011-07-14 10:49 mdyang 阅读(2166) 评论(2) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第3章:MapReduce算法设计(1)
摘要:爽约了。本来应该昨天更新的,结果昨天收到刚买的Focus手机过于兴奋把正事忘记了,十分抱歉!本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html引言MapReduce的强大很大程度上来自于它的简单,程序员只需要准备以下几个要素:输入数据mapper和reducer划分器与合并器(这两个是可选的)但另一方面,这意味着所有希望使用MapReduce实现的算法都得以MapReduce模型特有的方式表达(map-redu 阅读全文

posted @ 2011-07-12 09:57 mdyang 阅读(2498) 评论(2) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第2章:MapReduce基础(4)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html2.6 Hadoop集群架构图2.6 完整的Hadoop集群架构将上面的所有功能模块整合起来,我们就可以得到完整的Hadoop集群架构(如图2.6):1) HDFS namenode上运行namenode守护进程(daemon)2) 工作提交节点(job submission node)上运行工作追踪器(jobtracker),这种节点直接与客户端连接,接受Ma 阅读全文

posted @ 2011-07-08 09:32 mdyang 阅读(1038) 评论(2) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第2章:MapReduce基础(3)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html2.5 分布式文件系统HDFS从数据放置的角度看传统大规模数据处理中的问题前面集中关注处理。但没有数据,处理无从谈起。在传统集群架构(例如HPC)中,计算与存储是两个分离的组件。虽然不同系统的具体实现有差异,但总体思路是一致的:计算节点从存储节点将数据读入,处理数据,将结果写出。随着数据量的增大,数据处理对于计算能力的要求也在提高。随着计算能力的提高,存储节点与 阅读全文

posted @ 2011-07-05 09:59 mdyang 阅读(1239) 评论(0) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第2章:MapReduce基础(2)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html2.3 执行框架MapReduce最伟大的地方在于它分离了编写并行算法的what和how(你只需要写程序,而不需要为它怎么执行操心). 而对这一点贡献颇大的就是执行框架:它处理了几乎所有底层执行的细节,并且能够保证MapReduce集群具有从几个节点增长到数千节点的扩展能力。具体来说,包括以下一些职责:1) 调度每项MapReduce工作(job)都被分解为多个 阅读全文

posted @ 2011-07-02 11:38 mdyang 阅读(1241) 评论(0) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第2章:MapReduce基础(1)
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.html当前处理大规模数据最行之有效的思想就是“分而治之”。分而治之:将一个大问题划分为相对独立的若干小问题,然后加以解决。由于小问题间相对独立,因此可以以并发/并行的方式分别处理。具体来说,可以是多线程,多进程,多核以至于多处理机(集群)。如何分治?根据应用场景的不同,处理的方式千差万别。要考虑的问题包括但不限于:· 如何划分问题?· 如何将子任务 阅读全文

posted @ 2011-06-29 16:36 mdyang 阅读(1636) 评论(0) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记第1章:引言
摘要:本读书笔记的目录地址:http://www.cnblogs.com/mdyang/archive/2011/06/29/data-intensive-text-prcessing-with-mapreduce-contents.htmlMapReduce是什么?MapReduce是一个编程和执行模型。使用MapReduce,你可以编写大规模分布式数据处理程序。使用MapReduce模型编写的程序可以运行在由普通PC机构成的集群上。本书介绍什么?本书介绍基于MapReduce的可扩展大规模文本处理方法。为什么介绍这些?要处理的数据规模越来越大了,比如:1) 大规模数据管理。现在任何基于数据构建( 阅读全文

posted @ 2011-06-29 16:21 mdyang 阅读(1654) 评论(0) 推荐(0) 编辑

《Data-intensive Text Processing with MapReduce》读书笔记(入口)2011.7.23最后更新
摘要:本文是《Data-intensive Text Processing with MapReduce》一书(豆瓣链接)读书笔记博文列表。这是我的第一个读书笔记,其中翻译与表述不当之处,望广大网友不吝赐教。目前的状态:正在看书,边看边写,随着看书进度更新读书笔记。虽然进度上没有绝对保证,但将读书笔记以博文的方式发布出来,是对自己的督促。无论如何,我将认真研读并撰写报告。更新速度为3天左右一篇。读完以后,将持续修订。并考虑添加一些实践练习。书名中译(待定):使用MapReduce进行密集文本数据处理第1章:引言http://www.cnblogs.com/mdyang/archive/2011/06 阅读全文

posted @ 2011-06-29 16:17 mdyang 阅读(4563) 评论(4) 推荐(1) 编辑