- 博客(11)
- 收藏
- 关注
原创 HBase表设计原则整理
[b]1、列簇的设计[/b][list][*]列簇尽量少,最好不超过3个。因为每个列簇是存在一个独立的HFile里的,flush和compaction操作都是针对一个Region进行的,当一个列簇的数据很多需要flush的时候,其它列簇即使数据很少也需要flush,这样就产生的大量不必要的io操作。[*]在多列簇的情况下,注意各列簇数据的数量级要一致。如果两个列簇的数量级相差太大,会使...
2014-11-21 11:25:43
388
原创 总结hadoop mapreduce job添加第三方依赖的方法
最近在开发mapreduce程序,输入有hdfs、hbase形式,输出有hdfs、mysql等形式。碰到了如何添加第三方依赖jar的问题,在网上查了很多资料,记录下来,免得再走弯路。下面所有方法基于hadoop-1.0.1版本实现,其它版本可能略有不同。总结了一下,总共有五种方法:[list]1、制作一个超级jar包,包含你的classes和所有依赖的第三方classes2...
2014-04-04 15:30:56
601
原创 你真的了解java.lang.String吗?
[b]你真的了解java.lang.String吗?[/b]一直觉得自己的Java基础技术还算可以,自从看了一些大牛的博客后,发现自己对Java的理解还只是皮毛。之前看过JVM的一些知识以及java.lang.String的源码,以为自己对它很了解,但真的是这样吗?在这之前我对字符串的认识一直停留在很基础的认识上: 1、String对象是不可变的,一旦创建内容将不可能被修改。...
2014-02-21 14:47:01
394
原创 远程调试hadoop-2.2
近期一直在研究基于hadoop-2.2和hbase-0.96的安装配置,并结合官方文档简单的编写了一些mapreduce的例子。为了更深入了解hadoop-2.2的实现,决定研究一下如何对hadoop进行远程调试。下面介绍利用eclipse远程调试工具进行hadoop的调试:在Shell脚本中运行命令:export YARN_CLIENT_OPTS="-agentlib:jdwp=tran...
2013-12-30 14:38:16
178
原创 HBase安装笔记
HBase安装笔记 经过几天的研究,终于把最新版的hbase和hadoop安装起来了,中间遇到了各种各样的问题啊,记录下来以免其它人走弯路。有时间的时候,再把遇到的各种问题总结一下。 1. 从官网下载Hbase(0.96.0)和Hadoop(2.2.0), 因为服务器是64bit的,所以只能下载hadoop2.2.0的源码,自己编译。1.1 如果要编译本地库,需要安装一下软...
2013-11-01 17:57:51
118
原创 PowerMock简单实现原理
我们先来看看PowerMock的依赖:[img]http://dl2.iteye.com/upload/attachment/0088/4686/285795a1-9c8c-3832-b0f2-b33a7a5bc553.jpg[/img]可以看出来,它有两个重要的依赖:javassist和objenesis。javassist是一个修改java字节码的工具包,objenesis...
2013-08-21 15:22:47
1747
原创 PowerMock使用分享
单元测试是对应用中的某一个模块的功能进行验证。在单元测试中,我们常遇到的问题是依赖的模块尚未开发完成或者被测试模块需要和一些不容易构造、比较复杂的对象进行交互。另外,由于不能肯定其它模块的正确性,我们也无法确定测试中发现的问题是由哪个模块引起的。所谓的mock,就是指,如果我们写的代码依赖于某些对象,而这些对象又很难手动创建,那么就使用一个虚拟的对象来完成单元测试。在java界现在比较流行的moc...
2013-08-06 17:14:50
291
原创 HashMap和ConcurrentHashMap分享
大家一看到这两个类就能想到HashMap不是线程安全的,ConcurrentHashMap是线程安全的。除了这些,还知道什么呢?[b]先看一下简单的类图:[/b][img]http://dl2.iteye.com/upload/attachment/0087/3840/1a20c1a7-c422-374b-9acf-8c33479586cb.jpg[/img]从类图中可以看出来在存...
2013-07-25 10:29:41
217
原创 如何编写高质量代码
如何写出高质量的代码,这应该是每个程序员都在追求的,也是作为一个程序员的成就所在。什么样的代码才算得上是高质量的代码呢?答案很简单:高可读性、高稳定性、高扩展性。如果能写出这样的代码,那你就是一个优秀的程序员了。如何才能写出高质量的代码呢?接下来我将分享一些自己总结的经验。 首先我把写代码分为两个阶段:初级阶段和高级阶段。初级阶段:有良好的编码风格、没有魔鬼数字、不存在大量重复代...
2013-06-25 17:09:32
207
Felix阅读笔记(1)
今天从Github上下载了Felix的源码,对Felix的启动部分进行了一个大概的阅读,记下部分阅读笔记,以待日后继续...阅读主要工程:org.apach.felix.mainorg.apach.felix.framework1. org.apache.felix.main.Main主流程: a. 加载系统属性 b. 设定JVM的ShutdownHook相关线程,在J...
2012-11-30 17:39:20
223
工作5年总结
转眼间不知不觉已经工作5年了,有点迷茫的感觉,不是今后如何发展。技术?管理?日企、民企、外企(欧美)都干过,发现IT行业,只要技术和外语过关,基本不需要愁。现在自己回顾一下:发现自己技术不行,外语也不过关,真是迷茫啊!为了自己的前途,决定一定要充实自己。计划阅读一些开源代码和文档来提升一下自己的技术能力和外语能力。努力吧......
2012-11-30 14:29:33
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人