一.对源代码的改造
- 改造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。
接下来有时间抽取其中几点,详细说下。
相关推荐
### Hadoop概述 #### 一、传统数据与大数据的区别 Hadoop主要针对的是大数据处理领域。在理解Hadoop之前,我们需要先了解传统数据与大数据之间的区别。 - **传统数据特征**: - **数据来源**:主要包括数据采集...
Java和Hadoop是两个在IT领域非常重要的技术。Java是一种广泛使用的编程语言,而Hadoop则是大数据处理的关键框架。这份“java及hadoop学习资料”压缩包提供了丰富的学习资源,帮助初学者或进阶者深入理解和掌握这两个...
综上所述,这份“最新Hadoop学习笔记”涵盖了从环境搭建到项目实践的全过程,旨在帮助读者全面掌握Hadoop的核心技术和应用方式。通过阅读和实践,你将能够熟练地在大规模数据集上进行高效计算和存储。
北京某培训机构内部培训资料,学习大数据的同学抓紧下载,我会同步更新上传~
Hadoop技术概述 Hadoop技术是一个可靠的、可扩展的分布式系统架构,由Apache软件基金会开发。它是一个大数据的生态圈,不仅包括基本框架,还包括周边框架,如Flume、Hive、Hbase等。Hadoop的主要特点是扩容能力、低...
- **生态体系**:广义上的Hadoop指的是Hadoop生态系统,包含多个相关项目和技术。 ##### 2.2 Hadoop发展历史 - **起源**:Hadoop最初源于Doug Cutting创建的Lucene项目,随后在模仿Google的三篇论文基础上发展起来...
【标题】:“Hadoop学习整理的文档” 【文档概述】: Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要用于处理和存储大规模数据。这个文档集合可能是针对Hadoop初学者或者希望深入理解Hadoop生态系统...
### Hadoop 学习资源概览 #### 一、Hadoop 官方文档 - **网址**: [Hadoop官方文档](http://hadoop.apache.org/common/docs/current/index.html) - **内容概述**: - **Hadoop简介**: 包括Hadoop的历史背景、核心...
在IT行业中,分布式计算框架Hadoop是大数据处理的关键技术之一,尤其在大数据处理和存储方面发挥着重要作用。本文将基于“Hadoop学习总结和源码分析”这一主题,结合提供的文档资源,深入探讨Hadoop的核心组件HDFS...
【标题】:Hadoop技术总结 【描述】:Hadoop是一种开源框架,专门设计用于处理和存储大量数据,尤其适合初次接触大数据领域的学习者。它以其分布式计算模型、高容错性和可扩展性而闻名,使得企业能够有效地管理和...
【标题】中的“重庆理工大学hadoop第二次作业”表明这是一个关于Hadoop技术的学习任务,可能是某个教育机构的教学内容,特别是针对重庆理工大学的学生。Hadoop是一个开源的分布式计算框架,主要用于处理和存储海量...
- **就业前景**:随着大数据产业被纳入国家十三五规划以及智慧城市项目的兴起,Hadoop 相关的就业机会显著增加。此外,鉴于数据类型和数量的爆炸性增长,大数据领域的人才相对紧缺,特别是 Hadoop 分布式集群搭建、...
### Hadoop与Java基础知识学习手册 #### 一、Hadoop简介及Java基础知识 **标题**:“学习hadoop--java零基础学习hadoop手册” **描述**:“学习hadoop--java零基础学习hadoop手册” 本手册旨在为完全没有Java基础...
10. **Hadoop实战**:通过实际项目来应用Hadoop技术,比如日志分析、推荐系统、机器学习等。 这个“Hadoop开发者下载”很可能提供了以上各方面的教程、示例代码、配置文件甚至是一些实用工具,帮助开发者快速上手和...
2. 安装Hadoop:下载最新版本的Hadoop,配置环境变量,设置Hadoop的配置文件(如core-site.xml、hdfs-site.xml、yarn-site.xml等)。 3. 配置HDFS:设置NameNode和DataNode的目录,配置NameNode的地址。 4. 初始化...
Hadoop是Apache软件基金会的一个开源项目,主要用于处理和存储海量数据,其分布式文件系统(HDFS)和MapReduce计算框架是核心组成部分。 描述中的“大数据教程之搭建Hadoop集群.zip”进一步确认了这个压缩包包含的...
由于给定的文件内容部分涉及到PDF电子书的提供信息,并非技术知识点,故这部分内容将被忽略,重点将...以上内容仅为对Hadoop海量数据处理技术的部分概述,实际应用中还需结合具体业务场景和数据特性来深入学习和实践。