HBase MapReduce_1| 学习笔记

简介: 快速学习 HBase MapReduce_1

开发者学堂课程【HBase入门教程HBase MapReduce_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5096


HBase MapReduce_1


内容介绍

一、读表案例

二、写表案例


一、举例

下面的案例主要是如何 将 HBase 作为 MapReduce 源使用,如果,有 Mapper instance 但是没有 Reducer ,并且 Mapper 中没有任何发出的进程,此时代码应该如下:

Configuration config = HBaseConfiguration.create();

Job job=newJob(config,"ExampleRead");job.setJarByClass(MyReadJob.class);

// 包含  mapper 的类

Scan scan = new Scan();scan.setCaching(500);

// 1 是指浏览当中的错误,会对 MapReduce 进行有害

scan.setCacheBlocks(false);

//不要为 MR jobs 设置为

ture...TableMapReduceUtil.initTableMapperJob(tableName,

// 输入 HBase 表名称scan,            

MyMapper.class, // mappernull,

// mapper 主要输出null,

// mapper 输出内容

job);job.setOutputFormatClass(NullOutputFormat.class);

// 因为此时haimeiy9ou从 mapper 中发送出任何进程boolean b =

job.waitForCompletion(true);if (!b) {throw new IOException("error with job!");} public static class MyMapper extends TableMapper{public void map(ImmutableBytesWritable row, Result value,

//map 内可以按照自身需求填写Context context) throws InterruptedException, IOException {}}


二、书写案例

下面主要讲解,当 HBase 在  MapReduce 中, 即用来当做一个 source 由用来当做一个 sink,可以先直接把代码复制过来修改,代码如下:

Configuration config = HBaseConfiguration.create();Job job = new Job(config,"ExampleReadWrite");job.setJarByClass(MyReadWriteJob.class);

// 包含 mapper 的类

Scan scan = new Scan();

scan.setCaching(500);

// 1 是指浏览当中的错误,会对 MapReduce 进行有害

scan.setCacheBlocks(false);

// 不要为 MR jobs 设置为

ture TableMapReduceUtil.initTableMapperJob(sourceTable,

// 输入表scan,

MyMapper.class,

// mapper 类 null, // mapper 主要输出键 null,

// mapper 输出内容job);TableMapReduceUtil.initTableReducerJob(targetTable,

//输出表null,              

//reducer 类job);job.setNumReduceTasks(0); boolean b = job.waitForCompletion(true);if (!b) {throw new IOException("error with job!");}Reduce 为空,没有被指定,此例子中,只定义到了 map ,而没有指定到 reduce。

接下来下一个例子,代码如下

:TableMapReduceUtil.initTableMapperJob(sourceTable,

// 输入表 scan,

MyMapper.class,

// mapper 类 Text.class,

// mapper 输出关键字IntWritable.class,job);TableMapReduceUtil.initTableReducerJob(targetTable,

// 输出表

MyTableReducer.class,

// reducer 类 job);job.setNumReduceTasks(1);

// 要求至少调整一处

boolean b = job.waitForCompletion(true);if (!b) {throw new IOException("error with job!");}

这个案例中,指定了一个 MyTableReducer,在指定的时候,先指定了所要操作的目标表,还有 job reduce 方法,里面继承了 MyTableReduce reduce 在拿到数据之后,做累加,然后将键放到 put 中去,put 再进来之后,带上列族和字段,在放入 put 中,输出时,只将 put 输出,插入到 Hbase 的表当中。

此案例中,没看到表关联的原因是:在初始化时,写 reduce 的时候已经直接写入了,目标表已经被指定了。

而之前 map 指定的时候中的目标表,是读表目标,不是写表目标。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
11月前
|
SQL 分布式计算 并行计算
Hadoop学习笔记(三)之MapReduce
Hadoop学习笔记(三)之MapReduce
|
2天前
|
分布式计算 大数据 分布式数据库
"揭秘HBase MapReduce高效数据处理秘诀:四步实战攻略,让你轻松玩转大数据分析!"
【8月更文挑战第17天】大数据时代,HBase以高性能、可扩展性成为关键的数据存储解决方案。结合MapReduce分布式计算框架,能高效处理HBase中的大规模数据。本文通过实例展示如何配置HBase集群、编写Map和Reduce函数,以及运行MapReduce作业来计算HBase某列的平均值。此过程不仅限于简单的统计分析,还可扩展至更复杂的数据处理任务,为企业提供强有力的大数据技术支持。
|
2天前
|
存储 分布式计算 分布式数据库
《HBase MapReduce之旅:我的学习笔记与心得》——跟随我的步伐,一同探索HBase世界,揭开MapReduce的神秘面纱,分享那些挑战与收获,让你在数据的海洋里畅游无阻!
【8月更文挑战第17天】HBase是Apache顶级项目,作为Bigtable的开源版,它是一个非关系型、分布式数据库,具备高可扩展性和性能。结合HDFS存储和MapReduce计算框架,以及Zookeeper协同服务,HBase支持海量数据高效管理。MapReduce通过将任务拆解并在集群上并行执行,极大提升处理速度。学习HBase MapReduce涉及理解其数据模型、编程模型及应用实践,虽然充满挑战,但收获颇丰,对职业发展大有裨益。
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
105 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
3月前
|
存储 分布式计算 分布式数据库
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
41 0
|
3月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
398 0
|
9月前
|
分布式计算 分布式数据库 Hbase
99 MapReduce操作Hbase
99 MapReduce操作Hbase
70 0
|
存储 SQL 弹性计算
视频-《 E-MapReduce 组件介绍》|学习笔记(四)
快速学习视频-《 E-MapReduce 组件介绍》
93 0
视频-《 E-MapReduce 组件介绍》|学习笔记(四)
|
存储 分布式计算 运维
视频-《E-MapReduce 组件介绍》|学习笔记(一)
快速学习视频-《E-MapReduce组件介绍》
110 0
视频-《E-MapReduce 组件介绍》|学习笔记(一)
|
SQL 弹性计算 分布式计算
视频-《E-MapReduce》|学习笔记(四)
快速学习视频-《E-MapReduce》
184 0
视频-《E-MapReduce》|学习笔记(四)