上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 以下为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 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的地方。当然这也是任何有历史的编程语言所需要承担的历史包袱。后续的版本更新会为早期的设计缺陷所累。开发人 阅读全文
posted @ 2012-11-25 13:09 beanmoon 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉,将塑料注入到希望形状的模具中。玩具的类别(车,人物等等)是由模具决定的。... 阅读全文
posted @ 2012-11-25 12:06 beanmoon 阅读(317) 评论(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 阅读(2255) 评论(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 阅读(500) 评论(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 阅读(837) 评论(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 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 前言接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当。在解决问题的过程中,有时需要翻源码,有时会向同事、网友请教,遇到复杂问题则会通过mail list向全球各地Hadoop使用者,包括Hadoop Committer(Hadoop开发者)求助。在获得很多人帮助后,自己将遇到问题和心得整理成文,希望本文可以对那些焦头烂额的Hadoop新手们有所帮助,少走笔者的弯路。PS. 本文基于 阅读全文
posted @ 2012-11-22 00:23 beanmoon 阅读(477) 评论(0) 推荐(0) 编辑
摘要: JSON(JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of theJavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that i 阅读全文
posted @ 2012-11-21 20:59 beanmoon 阅读(203) 评论(0) 推荐(0) 编辑
摘要: (1).关于junit的一篇很好的介绍:http://www.ibm.com/developerworks/cn/java/j-lo-junit4/关于junit的最佳实践:1. 新建一个名为test的source folder, 用于存放测试代码2. 目标类和测试类应该位于同一个包下,这样测试类就不必导入源代码所在的包,因为他们位于同一个包中3. 测试类的命名规则是在被测试类的前面或后面加Test,如Calculator-->TestCalculatorjunit的帮助文档:http://junit.sourceforge.net/javadoc/(2).创建jar文件:jar -cm 阅读全文
posted @ 2012-11-20 18:30 beanmoon 阅读(153) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页