上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 1. Maven简介1. Maven的出发点在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们 都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务 应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。Maven正是为了将开发人员从这些任务中解脱出来而诞生的。2. Maven能做什么?Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:1)理解并管理整个软件开发周期 阅读全文
posted @ 2012-11-26 23:14 beanmoon 阅读(10623) 评论(0) 推荐(1)
摘要: IntroductionMaven, aYiddish wordmeaningaccumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wa 阅读全文
posted @ 2012-11-26 12:20 beanmoon 阅读(357) 评论(0) 推荐(0)
摘要: 以下为hadoop中使用的常用类说明(来源于hadoop api),排列仅以学习时出现的顺序为参考,不做其他比较:1. Configurationpublic class Configuration extends Object implements Iterable<Map.Entry<String,String>>, WritableProvides access to configuration parameters.ResourcesConfigurations are specified by resources. A resource contains a 阅读全文
posted @ 2012-11-25 21:38 beanmoon 阅读(1137) 评论(0) 推荐(0)
摘要: Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的地方。当然这也是任何有历史的编程语言所需要承担的历史包袱。后续的版本更新会为早期的设计缺陷所累。开发人 阅读全文
posted @ 2012-11-25 13:09 beanmoon 阅读(343) 评论(0) 推荐(0)
摘要: 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉,将塑料注入到希望形状的模具中。玩具的类别(车,人物等等)是由模具决定的。... 阅读全文
posted @ 2012-11-25 12:06 beanmoon 阅读(330) 评论(0) 推荐(0)
摘要: 设计理念: 1、超大文件 2、流式数据访问 3、商用普通硬件不适合场景: 1、低时间延迟的数据访问 2、大量的小文件 3、多用户写入,任意修改文件一、HDFS的基本概念1.1、数据块(block)HDFS(HadoopDistributed File System)默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。目的:最小化寻址,加快数据传输速度列出文件系统中各个文件有哪些块构成:hadoop fsck / -files -bloc 阅读全文
posted @ 2012-11-23 10:46 beanmoon 阅读(2276) 评论(0) 推荐(0)
摘要: 在程序中,集合类每天都在使用,以致于某些代码充斥着List和Map,一直没有机会整理下它们背后的实现原理。这几天不太忙,正好可以看会代码,补充下概念。和集合类的大致分类类似,下面我也分List,Map和Set来描述。一. List1).ArrayList ArrayList维护着一个对象数组。如果调用new ArrayList()后,它会默认初始一个size=10的数组。 每次add操作都要检查数组容量,如果不够,重新设置一个初始容量1.5倍大小的新数组,然后再把每个元素copy过去。 在数组中间插入或删除,都要移动后面的所有元素。(使用System.arraycopy())2).Lin 阅读全文
posted @ 2012-11-22 12:41 beanmoon 阅读(512) 评论(0) 推荐(0)
摘要: 注:该文是前一篇博客的很好的中文说明。Avro(读音类似于[ævrə])是Hadoop的一个子项目,由Hadoop的创始人Doug Cutting(也是Lucene,Nutch等项目的创始人,膜拜)牵头开发。Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。 当前市场上有很多类似的序列化系统,如Google的Protocol Buffers, Facebook的Thrift。这些系统反响良好,完全可以满足普通应用的需求。针对重复开发的 阅读全文
posted @ 2012-11-22 10:39 beanmoon 阅读(873) 评论(0) 推荐(0)
摘要: IntroductionApache Avro™ is a data serialization system.Avro provides:Rich data structures.A compact, fast, binary data format.A container file, to store persistent data.Remote procedure call (RPC).Simple integration with dynamic languages. Code generation is not required to read or write data files 阅读全文
posted @ 2012-11-22 10:24 beanmoon 阅读(478) 评论(0) 推荐(0)
摘要: 前言接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当。在解决问题的过程中,有时需要翻源码,有时会向同事、网友请教,遇到复杂问题则会通过mail list向全球各地Hadoop使用者,包括Hadoop Committer(Hadoop开发者)求助。在获得很多人帮助后,自己将遇到问题和心得整理成文,希望本文可以对那些焦头烂额的Hadoop新手们有所帮助,少走笔者的弯路。PS. 本文基于 阅读全文
posted @ 2012-11-22 00:23 beanmoon 阅读(485) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页