暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

《大数据:互联网大规模数据挖掘与分布式处理》读书笔记

凌云网络实验室 2020-05-25
1154

简介


《大数据:互联网大规模数据挖掘与分布式处理》,原书名:Mining of Massive Datasets,作者是 (美)拉贾拉曼(Rajaraman,A.) (美)厄尔曼(Ullman,J.D.) ,由王斌老师所翻译。本书由斯坦福大学的“web 挖掘”课程的内容总结而成,主要关注极大规模数据的挖掘。主要内容包括分布式文件系统、相似性搜索、搜索引擎技术、频繁项集挖掘、聚类算法、广告管理及推荐系统。

这本书可以作为学大数据的一个指南,虽然说它讲得并不深,但是几乎包含了大数据领域的各种关键词句,以它为引导,可以将整个大数据体系给清楚地罗列一下,个人意见,很适合刚入门的小白们了解一下哟!

本书比较新意的是将map-reduce引入到内容中,有一定借鉴意义。有些内容是偏理论,先引导,再实践。


下面就借比较有新意的第二章《大规模文件系统及Map-Reduce的应用》给大家重点介绍一下吧!

首先来看看这一章讲解的整体架构,分别介绍了分布式文件系统、Map-Reduce、使用Map-Reduce的算法,Map-Reduce扩展和集群计算算法的效率问题。

Map-reduce的思想就是“分而治之”, 而Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”执行。“简单的任务”有几个含义:

1.数据或计算规模相对于原任务要大大缩小;

2.就近计算,即会被分配到存放了所需数据的节点进行计算;

3.这些小任务可以并行计算,彼此间几乎没有依赖关系。

Map 任务的输入文件由多个元素组成,元素可以是任意类型。所有Map任务的输入和Reduce任务的输出都是键-值对的形式。此时的“键”不要求它们的唯一性,一个Map任务可以生产多个具有相同键的键-值对。

 对Map阶段的结果进行汇总,Reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定。缺省值为3,用户可以覆盖之。

 Reduce任务的输出是键-值对序列,键Key是Reduce任务接收到的输入键,值value是其接收到与key关联的值的组合结果。

所有的Reduce任务的输出结果会合并成一个文件。

一般而言,每个工作进程要么处理Map任务,要么处理Reduce任务。

主控进程要负责创建一定数目的Map和Reduce任务。一般情况下对于输入文件的每个文件都会创建一个Map任务,但是要限制Reduce任务的数量,因为每个Map任务都必须给每个Reduce任务建立中间文件,Reduce任务太多,会导致中间文件数目暴增。

主控进程要负责记录每个Map和Reduce的运行状态,分配新任务或对宕机的节点上的任务进行处理等。




这本书对map-reduce介绍的比较浅显易懂。集合运算的map-reduce实现,也有一定的参考意义。后面对map-reduce扩展以及map-reduce算法效率问题的理论理论知识也可以进行参考,欢迎大家去阅读哟!


图文:杨立

审核:马淑芳



文章转载自凌云网络实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论