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

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

 
阅读更多

一.概述

     HBase与MapReduce集成时,有以下三种情形

  1. HBase作为数据流向。
  2. HBase作为数据源。
  3. HBase作为数据源和数据流向。

     阅读本文前,最好先了解http://zy19982004.iteye.com/blog/2068112    

 

二.HBase作为数据流向

      HBase作为数据流向时,如从Hdfs里向HBase里导入数据,可以有下列方式

  1. map里直接调用HBase Api,往HBase插入数据。此时job.setNumReduceTasks(0),并且job.setOutputFormatClass(NullOutputFormat.class)
  2. 使用TableOutputFormat,TableOutputFormat的RecordWriter会直接往HBase写数据。
    1. 可以在map阶段就写入。此时job.setNumReduceTasks(0)。
    2. 也可以有reduce来写入如IdentityTableReducer。
  3. 使用BulkLoad,HFileOutputFormat.configureIncrementalLoad(job, htable); 的背后job.setOutputFormatClass(HFileOutputFormat.class);

 

三.HBase作为数据源

      HBase作为数据源,如分析HBase里的数据

      自定义mapper继承TableMapper,实际以Result作为数据源,map和reduce阶段按业务逻辑来即可。

 

四.HBase作为数据源和数据流向

     HBase作为数据源和数据流向,如将一个HBase表拆分为两个HBase表。mapper继承TableMapper,main方法里TableMapReduceUtil.initTableMapperJob后至少可以以下三种方式处理

  1. map阶段处理好数据,调用HBase Api插入到新HBase表。此时job.setNumReduceTasks(0),并且job.setOutputFormatClass(NullOutputFormat.class)。
  2. map阶段处理好数据,由TableOutputFormat写入到Hbase。
    1. 可以在map阶段就写入。此时job.setNumReduceTasks(0)。
    2. 也可以有reduce来写入如IdentityTableReducer。此时需要TableMapReduceUtil.initTableReducerJob。

五.源代码

      http://platform-components.googlecode.com/svn/trunk/SourceCode/study-hadoop/src/main/java/com/jyz/study/hadoop/hbase/mapreduce/ 目录下的几个java代码可以很好的说明上述任一情况。

    

 

 

 

3
0
分享到:
评论

相关推荐

    基于hadoop的简单网络爬虫,HBase MapReduce.zip

    HBase与Hadoop的集成通常通过HBase的Hadoop接口实现,允许MapReduce作业直接将数据写入HBase。这种方式可以充分利用Hadoop的并行处理能力和HBase的分布式存储特性,提高数据处理效率。 总结来说,这个项目涉及了从...

    Hadoop/HDFS/MapReduce/HBase

    对Hadoop中的HDFS、MapReduce、Hbase系列知识的介绍。如果想初略了解Hadoop 可下载观看

    hadoop1.1.2操作例子 包括hbase hive mapreduce相应的jar包

    这个压缩包文件包含的是Hadoop 1.1.2版本的操作示例,以及与之相关的HBase、Hive和MapReduce的jar包。这些工具是大数据处理生态系统中的核心组件,下面将分别详细介绍它们的功能和用法。 **Hadoop**: Hadoop是...

    HBase学习利器:HBase实战

    集成与生态**:HBase不仅与HDFS紧密结合,还与Hadoop生态系统中的其他组件(如Pig、Hive、Spark等)有着良好的集成关系,使得数据处理更加便捷高效。 总之,《HBase in Action》这本书全面覆盖了HBase的基础知识和...

    hbase-0.90.5.tar.gz与hadoop0.20.2版本匹配

    在本场景中,我们讨论的是HBase的0.90.5版本与Hadoop的0.20.2版本的兼容性。 标题提及的“hbase-0.90.5.tar.gz”是一个压缩文件,包含了HBase的0.90.5版本的所有源码、编译后的二进制文件、配置文件以及相关的文档...

    hadoop_hadoop-2.7.2-hbase-jar.rar linux下包

    标题 "hadoop_hadoop-2.7.2-hbase-jar.rar" 提供的信息表明,这是一个与Hadoop相关的压缩文件,具体来说是Hadoop 2.7.2版本的HBase JAR文件。Hadoop是一个开源框架,主要用于分布式存储和处理大数据。而HBase是建立...

    hadoop-2.7.2-hbase-jar.tar.gz

    《Hadoop 2.7.2与HBase的集成——深入理解hadoop-2.7.2-hbase-jar.tar.gz》 Hadoop是Apache软件基金会的一个开源项目,它为大规模数据处理提供了一个分布式计算框架。Hadoop的核心包括HDFS(Hadoop Distributed ...

    HBase MapReduce完整实例.rar

    通过这个实例,学习者可以深入了解HBase与MapReduce的整合过程,掌握如何利用MapReduce进行HBase数据的批处理,以及如何设计和优化MapReduce任务以提高处理效率。这对于大数据开发人员来说,是一份非常有价值的参考...

    hadoop,hive,hbase学习资料

    【标题】:“hadoop,hive,hbase学习资料”是一份综合性的学习资源,涵盖了大数据处理领域中的三个核心组件——Hadoop、Hive和Hbase。这些工具在大数据处理和分析中发挥着至关重要的作用。 【描述】:描述指出这份...

    HBase MapReduce完整实例

    本文将通过一个具体的Eclipse工程实例,深入解析HBase与MapReduce的集成应用。 一、HBase简介 HBase是基于Google Bigtable设计的一个开源NoSQL数据库,运行在Hadoop之上。它提供了高可靠性和高性能的数据存储,特别...

    大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第11期_HBase简介及安装_V1.0 共21页.pdf

    【大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第11期_HBase简介及安装_V1.0 共21页.pdf】这篇文档主要介绍了HBase这一大数据处理的重要组件,以及其在Hadoop生态系统中的角色。HBase是一个基于列族的...

    Hadoop技术内幕:深入解析MapReduce架构设计i与实现原理

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》是关于大数据处理领域的一本经典著作,专注于探讨Hadoop的核心组件——MapReduce。MapReduce是Google提出的一种分布式计算模型,被广泛应用于海量数据的...

    HDFS+MapReduce+Hive+HBase十分钟快速入门.pdf

    HDFS+MapReduce+Hive+HBase十分钟快速入门.pdf

    论文:HBase: A NoSQL database

    4. **大数据分析**:HBase可以与Hadoop MapReduce等工具结合使用,进行复杂的数据分析任务。 5. **文档存储**:对于需要存储大量文档的应用场景,如电子病历系统等。 #### 结论 HBase作为一种强大的NoSQL数据库,...

    基于hadoop的简单网络爬虫,HBase MapReduce文档详细+资料齐全.zip

    基于hadoop的简单网络爬虫,HBase MapReduce文档详细+资料齐全.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才...

    hadoop,hbase,hive版本整合兼容性最全,最详细说明【适用于任何版本】

    用户可以通过访问HBase的官方文档页面,然后使用浏览器的查找功能(例如按CTRL+F)搜索关键词“supported”,找到HBase与Hadoop的兼容版本对照表。此外,HBase官方也会提供特定版本的HBase支持的Hadoop版本,通常在...

    hbase和hadoop数据块损坏处理

    * hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir>:将 HBase 表内容输出成 HDFS 的 SequenceFiles 文件 * hbase org.apache.hadoop.hbase.mapreduce.Import <outputdir> <tablename>:将 ...

    hadoop hbase 全jar包

    HBase与Hadoop的HDFS(Hadoop Distributed File System)紧密集成,确保了数据的高可用性和容错性。HDFS为HBase提供了底层的分布式存储,而HBase则负责数据的组织和快速检索。 Hadoop的核心组件包括HDFS和MapReduce...

    第四十九章:Hbase分布式数据库1

    【第四十九章:Hbase分布式数据库1】 一、Hbase数据库概述 Hbase是一个构建在HDFS(Hadoop Distributed File System)之上的列式存储、分布式数据库,它源自Google的BigTable设计思想。Hbase旨在处理大规模数据集,...

    hbase版本1.2.6,Hadoop版本2.7.1,eclipse链接hbase所需jar包

    Hadoop的版本选择必须与HBase兼容,因为HBase依赖于Hadoop的HDFS(Hadoop Distributed File System)和MapReduce组件。 要将Eclipse与HBase连接起来,你需要首先确保Eclipse中安装了Hadoop和HBase的开发工具,例如...

Global site tag (gtag.js) - Google Analytics