11 2021 档案
摘要:‘这是一个牛人的时代’,突然很想如是感叹。这几天在CSDN,JAVAEYE,ITPUB,CHINAUNIX等几个社区逛来逛去,可能是太过闲适,见博客就看,见微博就跟,这几日状态犹如闽南话‘碎碎念’,不过如‘无心插柳’般,也有所收获,听过一句话‘在计算机领域,所有书本都是用来查的’,之前看了《深入理解
阅读全文
摘要:Mapreduce实例——二次排序 在Map阶段,使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块splites,同时InputFormat提供一个RecordReder的实现。本实验中使用的是TextInputFormat,他提供的Reco
阅读全文
摘要:Mapreduce实例——Reduce端join 在Reudce端进行Join连接是MapReduce框架进行表之间Join操作最为常见的模式。 1.Reduce端Join实现原理 (1)Map端的主要工作,为来自不同表(文件)的key/value对打标签以区别不同来源的记录。然后用连接字段作为ke
阅读全文
摘要:Mapreduce实例——Map端join MapReduce提供了表连接操作其中包括Map端join、Reduce端join还有单表连接,现在我们要讨论的是Map端join,Map端join是指数据到达map处理函数之前进行合并的,效率要远远高于Reduce端join,因为Reduce端join是
阅读全文
摘要:Mapreduce实例——单表join 以本实验的buyer1(buyer_id,friends_id)表为例来阐述单表连接的实验原理。单表连接,连接的是左表的buyer_id列和右表的friends_id列,且左表和右表是同一个表。因此,在map阶段将读入数据分割成buyer_id和friends
阅读全文
摘要:Mapreduce实例——排序 Map、Reduce任务中Shuffle和排序的过程图如下: 流程分析: 1.Map端: (1)每个输入分片会让一个map任务来处理,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片,当然我们也可以设置块的大小。map输出的结果会暂且放在一个环形内存缓冲
阅读全文
摘要:Mapreduce实例——求平均值求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形成一个集合value-list,然后将输入到Reduce端,Red
阅读全文
摘要:老师留了MapReduce的实验,现在将时间进行记录。 Mapreduce实例——去重实验原理“数据去重”主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。数据去重的最终目标是让原始数据中出现次数超过一次
阅读全文
摘要:看到这个书名的时候,会不自觉的想起周星驰在《喜剧之王》中的经典桥段,手拿一本《演员的自我修养》激励着很多懵懂青年。 就像这本书的自序所讲的,这是一本包含有许多朴素的经验,写给注重实效的程序员的一本“演员的自我修养”。 刚刚步入编程队伍的我,正需要这样一本书给予我经验,也因为是多年精心耕耘的结果,一时
阅读全文
摘要:策略模式模式动机完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。 在软件系统
阅读全文
摘要:状态模式模式动机在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的 (stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。在UML中可以
阅读全文
摘要:观察者模式模式动机建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者
阅读全文
摘要:备忘录模式模式动机为了使软件的使用更加人性化,对于误操作,我们需要提供一种类似“后悔药”的机制,让软件系统可以回到误操作前的状态,因此需要保存用户每一次操作时系统的状态,一旦出现误操作,可以把存储的历史状态取出即可回到之前的状态。现在大多数软件都有撤销(Undo)的功能,快捷键一般都是Ctrl+Z,
阅读全文
摘要:中介者模式模式动机在用户与用户直接聊天的设计方案中,用户对象之间存在很强的关联性,将导致系统出现如下问题:系统结构复杂:对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。对象可重用性差:由于一个对象和其他对象具有很强的关联,若没有其他对象的
阅读全文
摘要:迭代器模式模式动机一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构。针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我们并不希望在聚合对象的抽象层接口中充斥着各种不同遍历的操作。怎样遍历一个聚合对象,又不需要了
阅读全文
摘要:解释器模式模式动机如果在系统中某一特定类型的问题发生的频率很高,此时可以考虑将这些问题的实例表述为一个语言中的句子,因此可以构建一个解释器,该解释器通过解释这些句子来解决这些问题。解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中。模式定义解释器模式(Interp
阅读全文
摘要:命令模式模式动机在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。模式定义命令模式(Com
阅读全文
摘要:读《人件》这本书,给我最大的感触是人本管理思想,即知识型企业的核心是人,而不是技术的管理理念。《人件》这本书中并没有涉及具体的编码技术,从几个方面描述对一个团队的管理。下面来分篇介绍一下《人件》书中所表达的一些主要观点以及一些个人看法和感受。 第一篇:管理人力资源 本篇开始研究一种完全不同的考虑、管
阅读全文
摘要:职责链模式模式动机职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请
阅读全文
摘要:行为型模式行为型模式概述 行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象之间的交互。在系统运行时,对象并不是
阅读全文
摘要:代理模式模式动机通过引入一个新的对象(如小图片和远程代理对象)来实现对真实对象的操作或者将新的对象作为真实对象的一个替身,这种实现机制即为代理模式,通过引入代理对象来间接访问一个对象,这就是代理模式的模式动机。 模式定义代理模式(Proxy Pattern) :给某一个对象提供一个代理,并由代理对象
阅读全文
摘要:享元模式模式动机面向对象技术可以很好地解决一些灵活性或可扩展性问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。享元模式正是为解决这一类问题而诞生的。享元模式通过共享技术实现相同或相似对象的重用。 模式定义享元模式(Flyweight Pa
阅读全文
摘要:外观模式模式动机引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。模式定义外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接
阅读全文
摘要:装饰模式模式动机 一般有两种方式可以实现给一个类或对象增加行为:继承机制,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。关联机制,即将一个类的对象嵌入另一个对象中,由另一个对象
阅读全文
摘要:组合模式模式动机对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象,如子文件夹和文件)并调用执行。(递归调用)由于容器对象和叶子对象在功能上的区别,在使用这些对象的客户端代码中必须有区别地对待容器对象和叶子对象
阅读全文