package HbaseApi.MapreduceApi;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Counter;
import org.apache.hadoop.mapreduce.Job;
import java.io.IOException;
//Hbase对MapReduce提供支持,它实现了TableMapper类和TableReducer类,我们只需要继承这两个类即可
public class ReadFromHbase {
public enum ROWCOUNT{//枚举计数器
Rowcount;
}
static class MyReadHbaseMapper extends TableMapper<Text, Text> {
@Override
protected void map(ImmutableBytesWritable key, Result value, Context context) throws IOException, InterruptedException {
/*
byte[] bytes = key.get();//拿到rowkey
while (value.advance()) {
Cell current = value.current();//拿到该rowkey的当前cell
}
*/
context.getCounter(ROWCOUNT.Rowcount).increment(1l);
}
}
public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
//http://hbase.apache.org/book.html#mapreduce 官方文档注释 55.1. HBase MapReduce Read Example
Configuration configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum","192.168.1.137,192.168.1.138,192.168.1.139");//指定我们的zookeeper所在地(副所在地也可以)
configuration.set("hbase.zookeeper.property.clientPort","2181");//指定zookeepr的端口号 如果2181被占用则另申请一个
configuration.set("zookeeper.znode.parent","/hbase-unsecure");
Job instance = Job.getInstance(configuration,"ExampleRead");
instance.setJarByClass(ReadFromHbase.class);//指定程序的主类
Scan scan =new Scan();
scan.setCaching(500);//这里设置scan的缓存
scan.setCacheBlocks(false);//官方提示 这里要设置false
TableMapReduceUtil.initTableMapperJob(
"student",//表名
scan,//scan实例
MyReadHbaseMapper.class,//继承的map类
Text.class,//输出key
Text.class,//输出key
instance//实例
);
boolean b = instance.waitForCompletion(true);
if(!b)
{
throw new IOException("error with job");
}
long value = instance.getCounters().findCounter(ROWCOUNT.Rowcount).getValue();//用枚举获取值
System.out.println(value);
}
}
相关推荐
使用mapreduce向hbase1.1.2插入大量数据
1、集群环境hadoop2.5+hbase1.1.2 集群现在有37台slave节点,一个master节点。 2、数据源每一天的数据压缩成了一个tar.gz包,大概4G,其中大概有6000个zip包,每个zip包中有几个txt文件。 现在采用shell脚本将每天的数据合并成一个txt,大概有几十G。 3、插入要求现在要将txt文件中的每一行作为一条记录插入hbase。 4、建表create ‘ter
hadoop19--hbase与mapreduce集成,rowkey热点,TSV,CSV
文章目录hbase与Mapreduce集成整合在hadoop中运行jar包小案例hbase import TSVhbase import CSVrowkey的热点与表的设计原则热点原理rowkey长度限制rowkey的设计原则 hbase与Mapreduce集成整合 在公司的实际开发中, 在多数情况下, 都是Mapreduce与Hbase联合使用, 在Hbase中对于Hbase来说, 就是读和写的...
HBase MapReduce完整实例
Eclipse工程 HBase MapReduce完整实例 可远程执行 包含HBase增删改查 执行Test可看到效果
MapReduce功能实现五---去重(Distinct)、计数(Count)
一、去重 类似于db中的select distinct(x) from table , 去重处理甚至比WordCount还要简单 [hadoop@h71 q1]$ vi hello.txt hello world hello hadoop hello hive hello hadoop hello world hello world [hadoop@h71 q1]$ hadoop fs -
统计文件行数
非常好用的小程序,可以轻松统计文件的行数
SWD下载调试接口原理深度剖析
作为ARM嵌入式工程师,下载调试器都应该知道,但你真正了解SWD如何下载调试的么?ARM 芯片通过什么物理接口和什么方式连接完全取决于芯片Debug子系统的架构如何?
使用MapReduce统计每行数总数
偏移量: 指的是每行行首字母移动到文本的最前面需要一定的字符 MapReduce的数据类型 LongWritable 长整型 IntWritable 整型 DoubleWritable 双字节数值 FloatWritable 浮点型 Text 文本 BooleanWritable 布尔型数值 编写Map代码 public class WordCountMap extends Mapper...
STM32:TTL串口调试
TTL只需要两个线就可以完成两个设备之间的双向通信,一个发送电平的I/O称之为TX,与另一个设备的接收I/O口RX相互连接。两设备之间还需要连接地线(GND),这样两设备就有相同的0V参考电势。
HBase-MapReduce案例:统计表中数据,使用MapReduce将本地数据导入Hbase
HBase的MapReduce任务过程 1.查看HBase的MapReduce任务所需的依赖: cd /opt/module/hbase-1.3.1 bin/hbase mapredcp 2.执行环境变量的导入 export HBASE_HOME=/opt/module/hbase-1.3.1 export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` 3.运行官方的MapReduce任务 二.案例一:统计default:student表中有多
用于多种无人机协作的群体智能算法:综合综述
随着无人机技术的快速高水平发展,将多架无人机作为自主控制的编队应用于复杂情况是一个新兴领域的代表之一。在实现自主控制的挑战中,碰撞避免、任务分配、路径规划和编队重构是关键功能。本文对各种经典的无人机群智能算法进行了系统的总结和分析。
最简解决 Unity Error Registry configuration is invalid Unable to connect https packages.unity.cn
前言 在学习其他大佬项目的时候,大佬说项目能直接运行,然后我拉下来就报如下错误 Unity报错:[Package Manager]Error Registry configuration is invalid:Unable to connect “https://packages.unity.cn” 翻了很多博发现是 unity3d 中国增强版的原因,中国增强版屏蔽了国外自定义的插件仓库。 安装 非中国增强版后可以成功打开。 然后大家给出的解决方案都比较激进,大抵就是更换Unity版本就OK了。 当然我是觉
基于HBASE的并行计算架构之rowkey设计篇
转自:http://blog.51cto.com/xdataopen/1117864 1.大数据在HBASE存储、计算以及查询的应用场景 海量数据都是事务数据,事务数据都是在时间的基础上产生的。数据的业务时间可能会顺序产生,也可能不会顺序产生,比如某些事务发生在早上10点,但是在下午5点才结束闭并生成出来,这样的数据就会造成存储加载时的时间连续性。另外海量数据的挖掘后产生的是统计数据,统计数据...
Cartographer实现双雷达建图
TRAJECTORY_BUILDER_2D.num_accumulated_range_data = 2 --执行一次前端匹配需要的激光扫描分段数量。关于num_subdivisions_per_laser_scan。num_laser_scans =2,--订阅激光扫描话题数量。Frame改为 前雷达laser_1 后雷达laser_2。雷达的话题由scan改为,前scan_1 后scan_2。有些人说需要改成2,但我这里改成2反而不行,1才可以。
译:HBaseWD:通过顺序RowKey避免HBase RegionServer热点问题
在HBase领域,RegionServer热点是一个共性问题。用一句话来描述HBase热点:以顺序RowKey记录数据时,可以通过startRowkey和endRowKey区间最高效地读取数据,但是这种顺序写入却会不可避免地产生RegionServer热点。接下来两部分我们将讨论并告诉你如何避免这个问题。问题描述Hbase中的记录是按照字典顺序存储的。因此可以通过确定的RowKey快速找到某个记录,
PICO640红外探测器配置模块verilog
Ulis pico 640红外探测器配置模块
ISP算法:自动白平衡(AWB)
1. 为什么要做白平衡? 人类视觉系统具有颜色恒常性特点,一次人类对物体观察不受光源影响。但是Sensor在不同光线下,物体呈现的颜色不同,在晴朗天空下会偏蓝,在烛光下会偏红。如图: 2.什么是自动白平衡? 为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性。保证在任何场景下看到的白色是真正的白色。 3. 如何做自动白平衡? 只要乘以一个对角矩阵,便可以进行白平衡...
hadoop中HBase介绍以及Hbase、mapreduce,HDFS之间的关系、概念
简单来说,它们就像图书馆的书架,真正放置和存储书籍。在大数据的世界里,HBase、MapReduce 和 HDFS 是三大核心组件,它们的协作构成了大数据存储与处理的基础。换句话说,HBase 不仅存储当前的数据,还可以存储历史数据,帮助我们回溯数据的变化。HBase 中的列是动态的,也就是说,不同的行可以有不同的列,这种灵活性让 HBase 能够非常高效地处理海量数据。MapReduce 则提供了计算框架,它让我们能够在分布式环境中处理存储在 HDFS 或 HBase 中的数据,进行复杂的分析和计算。
Matlab波动光光学系统
波动光学是一种研究光波传播过程的理论,按照其处理的信息类型不同,可以分为相干和非相干波动光学,相干波动光学可以用作特定光学系统的分析和设计,其主要依赖物理光学和电磁波的基本原理,以及光学干涉和衍射的经验方程式,其中光波传播过程是以复数形式表示的,包括振幅和相位两个方面。近年来光学技术得到了广泛的应用和发展,波动光光学系统是其中一种重要的光学系统,它主要是利用波动光学原理,通过计算机模拟实现各种光学系统的设计、分析和优化,可应用于大气光传输、光束整形、分析系统的衍射和干涉特性,包括利用。
用MapReduce把hdfs数据写入HBase中
2017年03月01日 09:20:50 技术人的突破 阅读数:4117 1.使用Map+Reduce方式 public class MapReduceImport { /** * Mapper */ static class HMapper extends Mapper<LongWritable, Text, LongW...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
HBase与MapReduce、Hive集成实战
本文介绍了HBase与MapReduce和Hive的集成方案,以解决HBase在批量数据处理和SQL分析方面的短板。主要内容包括: HBase与MapReduce集成 使用官方工具类实现行数统计(rowcounter)、TSV数据导入(importtsv)等批量操作 环境配置方法,确保Hadoop能识别HBase依赖 自定义MapReduce程序示例,实现HBase表数据迁移 HBase与Hive集成 通过Hive外部表映射HBase数据,实现SQL查询 演示建表语法和双向数据同步方法。
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
MapReduce on HBase
引言 HBase跟Hadoop的无缝集成使得使用MapReduce对HBase的数据进行分布式计算非常方便,本文将以前面的blog示例,介绍HBase下MapReduce开发要点。很好理解本文前提是你对Hadoop MapReduce有一定的了解。 HBase MapReduce核心类介绍 首先一起来回顾下MapReduce的基本编程模型, 可以看到最基本的是通过Mappe
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
HBase与MapReduce整合及HBase表设计深度解析
输入格式Table,输出格式Table。Scan巧配置,Filter减负担。Map清洗,Reduce聚合,结果写回表。
HBase 入门学习
这意味着,往 HBase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景。(3)RowHBase 表中的每行数据都由一个RowKey和多个 Column(列)组成,数据是按照 RowKey的。
HBase-MapReduce
官方 HBase-MapReduce 1.查看 HBase 的 MapReduce 任务的执行 [lxl@hadoop102 hbase]$ bin/hbase mapredcp 2.环境变量的导入 (1)执行环境变量的导入(临时生效,在命令行执行下述操作) $ export HBASE_HOME=/opt/module/hbase $ export HA...
中的rowkey 获取hbase_大数据技术分享:HBase数据迁移到Kafka实战
在实际的应用场景中,数据存储在HBase集群中,但是由于一些特殊的原因,需要将数据从HBase迁移到Kafka。正常情况下,一般都是源数据到Kafka,再有消费者处理数据,将数据写入HBase。但是,如果逆向处理,如何将HBase的数据迁移到Kafka呢?作者:IT技术分享今天笔者就给大家来分享一下具体的实现流程。2.内容一般业务场景如下,数据源头产生数据,进入Kafka,然后由消费者(如Flin...
Hbase简介 读写流程 Rowkey设计原则 Hbase二级索引 重置Hbase
HbaseHbaseHbase读写流程1、Hbase读流程2、Hbase写流程RowKey设计原则1、散列原则2、唯一原则3、长度原则Hbase二级索引重置Hbase Hbase bigTable NoSQL数据库 列式数据库 实时查询的数据库 Hbase - Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库 Hbase是一个结构化的分布式存储系统,是一个NoSQL数据库 利用Hadoop HDFS作为其文件存储系统,利用Hadoop
7578



被折叠的 条评论
为什么被折叠?



