自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 收藏
  • 关注

Hadoop学习四十四:某项目技术小结概述

一.对源代码的改造 改造MultipleInputs:能够做到HBase文件或者HDFS文件的混合输入改造JobControl和ControlledJob:能够做到一个Job运行完后,先执行扩展类,再运行下一个Job 改造HFileOutputFormat和PutSortReducer:有一种业务场景是新来的一批数据里包含了少量要删除的数据。改造后配合Mapper对这些删除数据的标...

2014-12-15 15:49:52 219

Hadoop学习四十三:MapReduce的二次排序

 一.概述     关于二次排序的文章,网上很多,比喻http://www.cnblogs.com/xuxm2007/archive/2011/09/03/2165805.html就写的不错。在此文基础上补充几点。  二.job.setPartitionerClass在什么地方被用到     mapper里每一次write,都会调用到collector.collect(...

2014-11-02 19:10:08 278

Hadoop学习四十二:HBase 过滤器

一.概述客户端创建包含过滤器Filter的Scan。Scan通过RPC被发送给RegionServer,在服务器端执行过滤操作。Scan的作用域是region,所以一个RegionServer有多个region的话,Scan将被发送到每个region。 二.Filter工作流程      你必须知道的是,HBase里的一行数据对应一或者多个KeyValue。再...

2014-07-04 09:49:56 292

Hadoop学习四十一:HBase基础

一.概述      再次学习HBase实战和HBase权威指南时,对HBase了解又深了许多。本文列出一些值得关注的点。 二.HBase物理和逻辑存储结构           user表包含两个列族info activity,为此表预分区[1,3) [3,正无穷),此时user表在HBase里的物理和逻辑存储结构如上图。一个user表的数据存储在两个region上,这...

2014-07-02 15:53:33 192

Hadoop学习四十:Phoenix二级索引浅谈

一.概述Hadoop2.2.0   Hbase0.96.1.1  Phoenix-2.2.0-SNAPSHOTPhoenix官网上提供了三个与Hbase兼容的版本,分别为Phoenix2.X-Hbase0.94.X ,Phoenix3.X-Hbase0.94.X,Phoenix4.X-Hbase0.98.1+,没有与Hbase0.96兼容的版本。幸运的是git上有Phoenix Hb...

2014-06-30 09:34:54 412

Hadoop学习三十九:HBase与MapReduce集成

一.概述     HBase与MapReduce集成时,有以下三种情形HBase作为数据流向。HBase作为数据源。HBase作为数据源和数据流向。     阅读本文前,最好先了解http://zy19982004.iteye.com/blog/2068112     二.HBase作为数据流向      HBase作为数据流向时,如从Hdfs里向HBase...

2014-05-19 14:09:39 219

Hadoop学习三十八:MapReduce job.setNumReduceTasks(0)思考

一.概述      在http://zy19982004.iteye.com/blog/2037549的最后曾经提到过,这里再详细探讨一下。 二.job.setNumReduceTasks(0)唯一影响的是map结果的输出方式      当job.setNumReduceTasks(0)时,即没有reduce阶段,此时唯一影响的就是map结果的输出方式如果有reduce...

2014-05-19 11:01:16 427

Hadoop学习三十七:HBase比较负数

一.HBase存储     HBase存储的都是字节码。我们也知道,计算机系统里,数值一律采用补码来表示和存储(http://zy19982004.iteye.com/blog/1706138)。     那么Integer(-1)在HBase里将被存储为\xFF\xFF\xFF\xFF,Integer(1)在Hbase里将被存储为\x00\x00\x00\x01。     再来看...

2014-05-16 11:10:42 229

Hadoop学习三十六:使用BulkLoad时Bulk load operation did not find any files

一.错误     使用BulkLoad向Hbase导入数据时出现了错误2014-04-04 15:39:08,521 WARN org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles - Bulk load operation did not find any files to load in directory hdfs://...

2014-04-05 20:24:14 991

Hadoop学习三十五:Hadoop-MapReduce MapTask and ReduceTask

一.上文      http://zy19982004.iteye.com/blog/2037549从整体上描述了Job执行的过程,大致分为三步准备数据map reduce清理     其中最主要的当然是map reduce的过程,map由MapTask主导完成,reduce由ReduceTask主导完成。先看看官方给的一个图 二.MapTask      ...

2014-03-28 11:27:18 126

Hadoop学习三十四:Hadoop-MapReduce Job本地运行流程

一. 版本环境     以前工作的过程中,陆陆续续看过一些Hadoop1.0 MapReduce的源码,但没有形成体系。现在再次来看,顺便记录。此次学习版本的是Hadoop2.2.0 MapReduce。环境为直接在Win7下Local模式调试。MapReduce。 二. Job提交流程     从Job waitForCompletion开始1 Job submit1...

2014-03-27 15:40:38 304

Hadoop学习三十三:Hadoop-HBase Bulk Load使用翻译

一. 地址     http://hbase.apache.org/book.html#arch.bulk.load     写道9.8. Bulk Loading 9.8.1. Overview HBase includes several methods of loading data into tables. The most straightforward method...

2014-03-18 14:20:39 160

Hadoop学习三十二:Win7下无法提交MapReduce Job到集群环境

一. 对hadoop eclipse plugin认识不足      http://zy19982004.iteye.com/blog/2024467曾经说到我最hadoop eclipse plugin作用的认识。但事实上我犯了一个错误,Win7 Eclipse里的MyWordCount程序一直在本地运行,没有提交到集群环境上运行(查看192.168.1.200:50030)没有这个Jo...

2014-03-14 15:27:40 314

Hadoop学习三十一:Win7下HBase与MapReduce集成时XXX.jar is not a valid DFS filename

一. 代码     Hbase In Action(HBase实战)和Hbase:The Definitive Guide(HBase权威指南)两本书中,有很多入门级的代码,可以选择自己感兴趣的check out。地址分别为https://github.com/HBaseinaction https://github.com/larsgeorge/hbase-book。在Win7下运...

2014-03-12 09:48:04 1348

Hadoop学习三十:Win7 Eclipse调试Centos Hadoop2.2-Mapreduce

 一. 自己搭建开发环境     今天自己搭建了一套Centos5.3 + Hadoop2.2 + Hbase0.96.1.1的开发环境,Win7 Eclipse调试MapReduce成功。可能是版本比较高的原因,出了问题,网上找不到完整解决方案,只能靠自己。 二. Hadoop安装     这个就不啰嗦了,网上大把文章。我下载的是hadoop-2.2.0.tar.gz。...

2014-03-01 20:01:58 147

Java日志学习六:各种日志系统间的桥接

一.四种日志系统JCL http://zy19982004.iteye.com/blog/1991328Apache Log4j http://zy19982004.iteye.com/blog/1992939Slf4j http://zy19982004.iteye.com/blog/1993059JDK Logger http://zy19982004.iteye....

2013-12-21 22:33:28 305 1

原创 Java日志学习五:JDK Logger源码

一.JDK Logger     JDK从1.4版本开始有了自己的日志系统,相比log4j slf4j jcl,JDK Logger显得简单明了,它没有像其它几个框架,都想去做门面,它只是简单的做了自己的事情。下一篇文章将详细比较这四个日志以及相互之间的桥接。在此不啰嗦。 二.JDK Logger核心类Logger:日志类。LogManager:日志管理类,读取配置文件,...

2013-12-21 01:27:01 220

原创 Java日志学习四:Simple Logging Facade for Java (SLF4J)源码浅析

一.SLF4J     http://www.slf4j.org/ 二.SLF4J核心类 Logger:日志类。LoggerFactory:负责查找系统里日志的实现,负责创建日志。类似JCL的LogFactory,类似log4j的LogManager。ILoggerFactory:该接口只有一个getLogger(name)方法。类似log4j的LoggerRepos...

2013-12-20 22:15:31 242

原创 Java日志学习三:Apache Log4j源码浅析

一.Apache Log4jhttp://logging.apache.org/log4j/2.x/本文只讲初始化Logger的过程。二.Apache Log4j里的几个核心类Logger:日志类。getLogger()交给LogManager去实现。Level:八个级别。 #OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE,ALL。Lo...

2013-12-20 20:22:01 209

Java日志学习二:Apache Commons Logging (JCL)源码

一.Apache Commons Logging     http://zy19982004.iteye.com/blog/1867448里提到了commons-logging的工作方式,本文将看下代码怎么实现这一工作方式。 二.Apache Commons Logging类结构     就这么简单,一个接口包,一个实现包。 三.类说明Log:A simple...

2013-12-18 15:02:52 172

Java ClassLoader学习四:ContextClassLoader

 一.ContextClassLoaderContextClassLoader只是一个逻辑上的概念,在Java Api里并没有一个叫ContextClassLoader的类。JVM默认类加载体系已经能满足大部分情况的使用了,那为什么还需要ContextClassLoader呢。但有时候这样的加载体系并不能满足要求,比喻需要动态加载应用程序开发人员提供的资源时。考虑JDBC的实现,J...

2013-12-01 15:23:09 200

Java ClassLoader学习三:自定义ClassLoader

一.自定义ClassLoader关键是继承ClassLoader还是继承URLClassLoader。如果你的class文件存放于一个JAR文件里,同时你需要一些自己的load策略,可以考虑继承URLClassLoader。如果你的class文件位于其它地方,继承ClassLoader。比喻位于普通文件夹里,可以自定义一个JyzClassLoader;如果位于网络上,可以定义一...

2013-11-30 17:26:07 107

Java ClassLoader学习二:ClassLader源码

一.ClassLoader源码继承图       SecureClassLoader:这个类我没做深入研究,你把它当成一个增强版的ClassLoader,增强了从何地load class,增强了能不能load这些代码权限。 二.源码 public abstract class ClassLoader { // 父ClassLoader private Cla...

2013-11-30 17:05:33 128

Java ClassLoader学习一:Launcher源码

一.Launcher     我们习以为常的ClassLoader.getSystemClassLoader()来获得系统类加载器,有没有考虑过到底是怎么得到的呢?阅读完Launcher的源码,就清楚了。 二.源码public class Launcher { private static URLStreamHandlerFactory factory = new F...

2013-11-30 16:39:42 408

原创 Java ClassLoader学习

占位

2013-11-30 16:01:31 64

原创 Java注解学习四:@Inherited的使用

一.@Inherited     @Inherited:允许子类继承父类的注解。 二.代码@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Inheritedpublic @interface DBTable { public String name() default ""; }...

2013-11-22 16:53:25 211

Java注解学习三:package-info.java的使用

一.引入      上文http://zy19982004.iteye.com/blog/1979208中,提到了注解类JyzTargetPackage可以定义为@Target(ElementType.PACKAGE),可是在被注解类里我无论怎么加,编译器都报错,于是引入了package-info.java这个文件。 二.创建package-info.java"I found...

2013-11-22 10:53:49 330

Java注解学习二:自定义注解

一.注解术语     http://zy19982004.iteye.com/blog/1979039里把注解里的术语罗列了一遍,未做深入解读。本文用一个例子来强化注解术语。 二.代码 package com.jyz.study.jdk.annotation;import java.lang.annotation.Documented;import java...

2013-11-22 10:05:18 100

Java注解学习一:注解术语

一.元注解@Target:表示该注解可以用于什么地方。可选的ElementType参数包括:TYPE:类,接口(包括注解类型),enum的声明。FIELD:域的声明(包括enum实例)。METHOD:方法的声明。PARAMETER:参数的声明。CONSTRUCTOR:构造器的声明。LOCAL_VARIABLE:局部变量的声明。ANNOTATION_TYPE:...

2013-11-21 20:23:26 196

原创 Java注解学习

写点什么

2013-11-21 19:39:14 66

Java泛型学习四:泛型其它知识点

一.开篇     在学习泛型的过程中,有许多零零碎碎的知识点,它们并不好用单独一篇文章来说,遂罗列如此。 二.泛型异常catch语句不能捕获泛型类型的异常,因为在编译器和运行期间都必须知道异常的确切类型。泛型类不能直接或间接继承Throwable,这并不是说泛型形式类型参数不能继承Throwable。package com.jyz.study.jdk.generic;...

2013-11-21 09:33:12 115

Java泛型学习三:泛型的表现形态

一.类型参数形态     按照泛型类型参数的表现形态,先列出所有可能出现的,再来归纳,以List为例:Holder:原生态类型Holder<T>:最简单的泛型形态。Holder<T extends Number>:有限制形式类型参数。Holder<T super Number>:有限制形式类型参数。可惜的是没有这种语法。Holder...

2013-11-20 16:36:13 117

原创 Java泛型学习二:擦除

一.开篇     上文http://zy19982004.iteye.com/blog/1976993中提到“NewCollections.map() return Map<Object, Object>, but not  Map<Integer, String>”,为什么呢?对擦除的理解将是对泛型理解的关键。 二.擦除的概念     《Thinkin...

2013-11-19 20:38:16 111

Java泛型学习一:泛型术语

一.开篇     泛型是我到目前为止觉得很难啃的硬骨头之一。我一直认为学习这些东西,所花费的时间和要达到的效果短期内是不成正比的,但从长远来看,要写出好的代码,这些基础必须掌握。这也是为什么我准备花一个月的时间,再次学习Java基础的原因。 二.泛型术语泛型(Generic):适应于许多许多的类型。泛型类和泛型接口统称为泛型。比喻List<E>。泛型类:一个类...

2013-11-19 16:34:09 119

Java泛型学习

重学Java泛型

2013-11-19 15:36:58 62

Java异常学习四:Thinking In Java and Effective Java关于异常的一些描述

一.Thinking In Java发现错误的最佳时期是编译期间,然而编译期间并不能找出所有数据,余下的问题必须在运行期间解决。switch case语句里如果throw Exception的话是不需要break的。异常处理理论上有两种基本模型。终止模型,java和c++支持的模型,将假设错误非常关键,一旦异常被抛出,就表明错误已经无法挽回,也不能继续执行;恢复模型,遇到错误不能...

2013-11-17 00:11:39 113

Java异常学习三:异常链

一.异常链常常会再捕获一个异常后跑出另外一个异常,并且希望把异常原始信息保存下来,这被称为异常链。在JDK1.4以前,程序员必须自己编写代码来保存原始异常信息,现在所有Throwable的子类子构造器中都可以接受一个cause对象作为参数,这个cause就异常原由,代表着原始异常,即使在当前位置创建并抛出行的异常,也可以通过这个cause追踪到异常最初发生的位置。只有Error...

2013-11-16 19:20:44 295

原创 Java异常学习二:异常栈轨迹

一.打印栈轨迹的方法主动调用Throwable对象的printStackTrace()=printStackTrace(System.err),printStackTrace(PrintStream),printStackTrace(PrintWriter)中的其中一个。如果一个Exception没有被处理,直接在main方法后面throws,程序退出前将调用异常的printStac...

2013-11-16 16:27:41 227

Java异常学习一:Throwable源码

一.java异常类结构常用的CheckedException常用的RuntimeException 二.Throwable类源码 StackTraceElement。一个final类,代表栈轨迹中的元素,一个异常可能有多个元素。public final class StackTraceElement implements java.io.Serializabl...

2013-11-14 16:37:07 235

原创 Java异常学习

系列博客   从学java异常    

2013-11-14 14:27:35 65

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除