`
zy19982004
  • 浏览: 654379 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:249886
社区版块
存档分类
最新评论

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

 
阅读更多

一.对源代码的改造

  •  改造MultipleInputs:能够做到HBase文件或者HDFS文件的混合输入
  • 改造JobControl和ControlledJob:能够做到一个Job运行完后,先执行扩展类,再运行下一个Job
  •  改造HFileOutputFormat和PutSortReducer:有一种业务场景是新来的一批数据里包含了少量要删除的数据。改造后配合Mapper对这些删除数据的标记,PutSortReducer能发现这些数据,HFileOutputFormat将这些数据记录到某个文件(不生成HFile)
  • 改造hadoop_datajoin-2.3.0.jar:使用PartitionerClass SortComparatorClass GroupingComparatorClass技术手段,去掉maxNumOfValuesPerGroup = 100的限制,实现迭代一组Value就实现关联。
  • 改造RunJar:在一个没有安装Hadoop集群环境上提交作业,自己实现一个JarRunner类,做到和使用集群hadoop jar命令一样的效果。

 

二.使用到的工具类

  • Distcp:集群间HDFS文件拷贝。定制化InputFormat TextOutputFormat;无Reducer。
  • Snapshot:HBase克隆快照。
  • Export Import:集群间HBase拷贝。
         Export的话使用IdentityTableMapper将Result直接输出,使用SequenceFileOutputFormat将对象序列化到指定文件。
         Import的话使用SequenceFileInputFormat从指定文件读取数据;1.Mapper里将Result对象转换成Mutation对象并输出,TableOutputFormat接受到后直接写到HBase;无Reducer。2.或者是另外种借助HFileOutputFormat的处理,下篇再详说。
  • CopyTable:一个集群里将一个表copy成另外一个表 。Mapper里将Result对象转换成Mutation对象并输出,TableOutputFormat接受到后直接写到HBase;无Reducer。

 

     接下来有时间抽取其中几点,详细说下。

2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics