`
ganliang13
  • 浏览: 253089 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mapreduce编程模型之HDFS数据到HBASE表数据

阅读更多
package com.bfd.util;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;

public class CopyOfGidAddCartTemp {
	public static final String TABLE_NAME = "_AddCart_TEMP"; 
	public static final String COLUMN_FAMILY = "ci";
	private static Configuration conf = null;

	static {
		conf = HBaseConfiguration.create();
		conf.set("hbase.zookeeper.quorum", Const.ZOOKEEPER_QUORAM);
		conf.set("zookeeper.znode.parent", Const.ZOOKEEPER_ZNODE_PARENT);

	}

	static class Mapper
			extends
			org.apache.hadoop.mapreduce.Mapper<LongWritable, Text, ImmutableBytesWritable, LongWritable> {
		private ImmutableBytesWritable outKey = new ImmutableBytesWritable();
		private LongWritable outValue = new LongWritable();

		@Override
		protected void map(
				LongWritable key,
				Text value,
				org.apache.hadoop.mapreduce.Mapper<LongWritable, Text, ImmutableBytesWritable, LongWritable>.Context context)
				throws IOException, InterruptedException {
					context.write(new ImmutableBytesWritable(), new LongWritable());
		}

	}

	static class Reducer
			extends
			org.apache.hadoop.mapreduce.Reducer<ImmutableBytesWritable, LongWritable, ImmutableBytesWritable, KeyValue> {

		public void reduce(ImmutableBytesWritable key,
				Iterable<LongWritable> values, Context context)
				throws IOException, InterruptedException {
			context.write(key,new KeyValue());
		}

	}

	public static void main(String[] args) throws IOException,
			InterruptedException, ClassNotFoundException {

		Configuration conf = new Configuration();
		Job job = new Job(conf, "_AddCart_TEMP");

		job.setJarByClass(CopyOfGidAddCartTemp.class);

		job.setMapOutputKeyClass(ImmutableBytesWritable.class);
		job.setMapOutputValueClass(LongWritable.class);

		job.setOutputKeyClass(ImmutableBytesWritable.class);
		job.setOutputValueClass(KeyValue.class);

		job.setMapperClass(com.bfd.util.CopyOfGidAddCartTemp.Mapper.class);
		job.setReducerClass(com.bfd.util.CopyOfGidAddCartTemp.Reducer.class);

		job.setInputFormatClass(TextInputFormat.class);
		job.setOutputFormatClass(HFileOutputFormat.class);

		job.setNumReduceTasks(4);
		/* 本地执行 */
		// ((JobConf) job.getConfiguration()).setJar(jarFile.toString());

		TextInputFormat.setInputPaths(job, Const.HDFS_BASE_INPUT + "/l_date="
				+ args[0] + "/*");
		HFileOutputFormat.setOutputPath(job, new Path(Const.HDFS_BASE_OUTPUT
				+ "/addcart"));

		Configuration HBASE_CONFIG = new Configuration();
		HBASE_CONFIG.set("hbase.zookeeper.quorum", Const.ZOOKEEPER_QUORAM);
		HBASE_CONFIG.set("zookeeper.znode.parent", Const.ZOOKEEPER_ZNODE_PARENT);
		HBASE_CONFIG.set("date2", args[0]);
		Configuration cfg = HBaseConfiguration.create(HBASE_CONFIG);
		HTable htable = new HTable(cfg, TABLE_NAME);
		HFileOutputFormat.configureIncrementalLoad(job, htable);
		System.exit(job.waitForCompletion(true) ? 0 : 1);
	}

}

 

分享到:
评论

相关推荐

    hadoop的mapreduce把oracle/mysq导入到hbase和hdfs中的程序

    MapReduce是Hadoop的核心组件之一,它是一种编程模型,用于大规模数据集(大于1TB)的并行计算。在本场景中,Map阶段将原始数据分割成小块,并在集群的不同节点上并行处理。Reduce阶段则负责聚合这些处理结果,生成...

    HDFS 通过mapreduce 进行 HBase 导入导出

    因此,通过 MapReduce 这种并行计算框架,可以从 HDFS 中将数据导入到 HBase,或者将 HBase 中的数据导出到 HDFS。 MapReduce 包含 Map 和 Reduce 两个主要阶段,Map 阶段将输入数据分片并进行并行处理,Reduce ...

    mapreduce方式入库hbase hive hdfs

    mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载

    java操作Hbase之从Hbase中读取数据写入hdfs中源码

    在Java编程环境中,操作HBase并将其数据写入HDFS(Hadoop Distributed File System)是一项常见的任务,特别是在大数据处理和分析的场景下。本篇将详细介绍如何使用Java API实现这一功能,以及涉及到的关键技术和...

    将hdfs上的文件导入hbase的源代码

    源代码可能包括了数据预处理的MapReduce作业,HBase表的创建逻辑,以及使用HBase Java API的导入功能。通过阅读和理解这段代码,可以深入学习如何在实际项目中将HDFS数据导入HBase,这对于大数据平台的开发和运维...

    Hadoop/HDFS/MapReduce/HBase

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

    Hadoop数据迁移--从Hadoop向HBase

    通过以上详细的分析和解释,我们可以清晰地了解到从Hadoop向HBase进行数据迁移的具体步骤和技术要点,包括MapReduce的使用、数据插入机制、HBase表的创建以及Mapper类的实现细节。这对于理解和实施Hadoop与HBase之间...

    大数据技术 Hadoop开发者第二期 MapReduce HDFS Hive Mahout HBase 共64页.pdf

    ### 大数据技术 Hadoop开发者第二期 MapReduce HDFS Hive Mahout HBase 相关知识点解析 #### 一、Hadoop 业界资讯 - **InfoWorld 授予 Apache Hadoop 年度技术创新奖章** - **背景**:2010年1月,InfoWorld 授予 ...

    hbase和hadoop数据块损坏处理

    * hbase org.apache.hadoop.hbase.mapreduce.Import &lt;outputdir&gt; &lt;tablename&gt;:将 HDFS 文件插入到 HBase 表中 * snapshot 'test', 'snap_test':创建名为 snap_test 的快照 * hbase org.apache.hadoop.hbase....

    java解决hive快速导数据到Hbase代码

    本文将详细讨论如何使用Java编程语言实现从Hive到HBase的快速数据导入方案。 首先,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,适合大规模数据的离线...

    MR程序Bulkload数据到hbase

    标题中的“MR程序Bulkload数据到hbase”指的是使用MapReduce(MR)程序批量加载(Bulkload)数据到HBase数据库的过程。MapReduce是Apache Hadoop框架中的一个关键组件,用于处理和生成大规模数据集。而HBase是一个...

    大数据技术 Hadoop开发者第二期 Nutch MapReduce HDFS Hive Mahout HBase 共64页.r

    HBase的表模型和列族设计使其能够在保持高性能的同时,支持灵活的数据模型。 这六个组件共同构成了一个完整的Hadoop生态系统,它们相互配合,从数据采集(Nutch)、存储(HDFS)、计算(MapReduce)、分析(Hive)...

    [案例]从冷备份的hdfs数据中恢复到原来的hbase表

    ### 从冷备份的HDFS数据中恢复到原来的HBase表 #### 概述 本文档详细介绍了一种从HDFS中的冷备份数据恢复至HBase表的方法。此过程适用于使用了HBase 1.1.x 和 Hadoop 2.7.x版本的环境。通过以下步骤,可以有效地将...

    基于MapReduce和HBase的海量网络数据处理.pdf

    系统的设计基于Hadoop和HBase的架构,充分利用了Hadoop的分布式文件系统HDFS和MapReduce的快速计算能力,以及HBase的高效数据存储和查询能力。该系统可以实现对海量网络数据的可靠存储、快速解析和高效查询。 系统...

    hbase备份和数据恢复

    1. HBase的数据模型:HBase是基于列族的NoSQL数据库,数据以行键、列族、列限定符和时间戳的形式存储。理解这一模型对备份策略至关重要。 2. 备份方法: - HBase的快照功能:HBase支持在线快照,通过创建快照可以...

    大数据 hdfs hadoop hbase jmeter

    接下来,Hadoop是HDFS的基础框架,它不仅包括HDFS,还包括MapReduce编程模型,用于并行处理数据。MapReduce将大型任务分解为小的Map任务和Reduce任务,在集群中的不同节点上并行执行,极大地提高了处理效率。开发者...

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

    在大数据处理领域,Hadoop生态系统中的HDFS(Hadoop Distributed File System)、MapReduce、Hive和HBase是四个至关重要的组件。本资料“HDFS+MapReduce+Hive+HBase十分钟快速入门”旨在帮助初学者迅速理解这些技术...

    详解Hadoop核心架构HDFS+MapReduce+Hbase+Hive

    通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。通过这一阶段的调研总结,从内部机理的...

    MapReduce on Hbase

    1. 准备阶段:配置HBase的环境,包括设置HBase的表结构、索引和数据模型。 2. Map阶段:定义Map函数,该函数将从HBase表中读取数据,并对数据进行预处理,形成键值对(key-value pairs)。 3. Shuffle阶段:...

Global site tag (gtag.js) - Google Analytics