本章介绍用于对HBase表上执行CRUD操作的HBase Java客户端API。 HBase是用Java编写的,并具有Java原生API。因此,它提供了编程访问数据操纵语言(DML)。

HBaseConfiguration类

添加 HBase 的配置到配置文件。这个类属于org.apache.hadoop.hbase包。

方法及说明

S.No. 方法及说明
1

static org.apache.hadoop.conf.Configuration create()

此方法创建使用HBase的资源配置

HTable类

HTable表示HBase表中HBase的内部类。它用于实现单个HBase表进行通信。这个类属于org.apache.hadoop.hbase.client类。

构造函数

S.No. 构造函数
1

HTable()

2

HTable(TableName tableName, ClusterConnection connection, ExecutorService pool)

使用此构造方法,可以创建一个对象来访问HBase表。

方法及说明

S.No. 构造函数
1

void close()

释放HTable的所有资源

2

void delete(Delete delete)

删除指定的单元格/行

3

boolean exists(Get get)

使用这个方法,可以测试列的存在,在表中,由Get指定获取。

4

Result get(Get get)

检索来自一个给定的行某些单元格。

5

org.apache.hadoop.conf.Configuration getConfiguration()

返回此实例的配置对象。

6

TableName getName()

返回此表的表名称实例。

7

HTableDescriptor getTableDescriptor()

返回此表的表描述符。

8

byte[] getTableName()

返回此表的名称。

9

void put(Put put)

使用此方法,可以将数据插入到表中。

Put类

此类用于为单个行执行PUT操作。它属于org.apache.hadoop.hbase.client包。

构造函数

S.No. 构造函数和描述
1

Put(byte[] row)

使用此构造方法,可以创建一个将操作指定行。

2

Put(byte[] rowArray, int rowOffset, int rowLength)

使用此构造方法,可以使传入的行键的副本,以保持到本地。

3

Put(byte[] rowArray, int rowOffset, int rowLength, long ts)

使用此构造方法,可以使传入的行键的副本,以保持到本地。

4

Put(byte[] row, long ts)

使用此构造方法,我们可以创建一个Put操作指定行,用一个给定的时间戳。

方法

S.No. 方法及描述
1

Put add(byte[] family, byte[] qualifier, byte[] value)

添加指定的列和值到 Put 操作。

2

Put add(byte[] family, byte[] qualifier, long ts, byte[] value)

添加指定的列和值,使用指定的时间戳作为其版本到Put操作。

3

Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value)

添加指定的列和值,使用指定的时间戳作为其版本到Put操作。

4

Put add(byte[] family, ByteBuffer qualifier, long ts, ByteBuffer value)

添加指定的列和值,使用指定的时间戳作为其版本到Put操作。

Get类

此类用于对单行执行get操作。这个类属于org.apache.hadoop.hbase.client包。

构造函数

S.No. 构造函数和描述
1

Get(byte[] row)

使用此构造方法,可以为指定行创建一个Get操作。

2 Get(Get get)

方法

S.No. 构造函数和描述
1

Get addColumn(byte[] family, byte[] qualifier)

检索来自特定列家族使用指定限定符

2

Get addFamily(byte[] family)

检索从指定系列中的所有列。

Delete类

这个类用于对单行执行删除操作。要删除整行,实例化一个Delete对象用于删除行。这个类属于org.apache.hadoop.hbase.client包。

构造函数

S.No. 构造方法和描述
1

Delete(byte[] row)

创建一个指定行的Delete操作。

2

Delete(byte[] rowArray, int rowOffset, int rowLength)

创建一个指定行和时间戳的Delete操作。

3

Delete(byte[] rowArray, int rowOffset, int rowLength, long ts)

创建一个指定行和时间戳的Delete操作。

4

Delete(byte[] row, long timestamp)

创建一个指定行和时间戳的Delete操作。

方法

S.No. 构造方法和描述
1

Delete addColumn(byte[] family, byte[] qualifier)

删除指定列的最新版本。

2

Delete addColumns(byte[] family, byte[] qualifier, long timestamp)

删除所有版本具有时间戳小于或等于指定的时间戳的指定列。

3

Delete addFamily(byte[] family)

删除指定的所有列族的所有版本。

4

Delete addFamily(byte[] family, long timestamp)

删除指定列具有时间戳小于或等于指定的时间戳的列族。

Result类

这个类是用来获取Get或扫描查询的单行结果。

构造函数

S.No. 构造函数
1

Result()

使用此构造方法,可以创建无Key Value的有效负载空的结果;如果调用Cells()返回null。

方法

S.No. 方法及描述
1

byte[] getValue(byte[] family, byte[] qualifier)

此方法用于获取指定列的最新版本

2

byte[] getRow()

此方法用于检索对应于从结果中创建行的行键。

Hbase记录-HBase客户端API的更多相关文章

  1. Hbase记录-HBase性能优化指南

    垃圾回收优化当region服务器处理大量的写入负载时,繁重的任务会迫使JRE默认的内存分配策略无法保证程序的稳定性 所以我们可能需要对region服务器的垃圾回收机制进行一些参数调整(因为master ...

  2. Hbase记录-Hbase基础概念

    HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...

  3. Hbase记录-Hbase shell使用

    HBase Shell HBase包含可以与HBase进行通信的Shell. HBase使用Hadoop文件系统来存储数据.它拥有一个主服务器和区域服务器.数据存储将在区域(表)的形式.这些区域被分割 ...

  4. Hbase记录-Hbase介绍

    Hbase是什么 HBase是一种构建在HDFS之上的分布式.面向列的存储系统,适用于实时读写.随机访问超大规模数据的集群. HBase的特点 大:一个表可以有上亿行,上百万列. 面向列:面向列表(簇 ...

  5. Hbase记录-Hbase配置项

    hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hb ...

  6. Hbase记录-HBase扫描/计数/权限

    HBase扫描   scan 命令用于查看HTable数据.使用 scan 命令可以得到表中的数据.它的语法如下: scan ‘<table name>’ 下面的示例演示了如何使用scan ...

  7. Hbase记录-HBase增删改查

    HBase创建数据   本章将介绍如何在HBase表中创建的数据.要在HBase表中创建的数据,可以下面的命令和方法: put 命令, add() - Put类的方法 put() - HTable 类 ...

  8. Hbase记录-HBase基本操作(二)

    HBase Exists   可以使用exists命令验证表的存在.下面的示例演示了如何使用这个命令. hbase(main):024:0> exists 'emp' Table emp doe ...

  9. Hbase记录-HBase基本操作(一)

    HBase创建表 可以使用命令创建一个表,在这里必须指定表名和列族名.在HBase shell中创建表的语法如下所示. create ‘<table name>’,’<column ...

随机推荐

  1. PAT 1037 在霍格沃茨找零钱

    https://pintia.cn/problem-sets/994805260223102976/problems/994805284923359232 如果你是哈利·波特迷,你会知道魔法世界有它自 ...

  2. Daemon Thread [shirocache] (Running)

    shiro cache的原理 https://cwiki.apache.org/confluence/display/SHIRO/Caching shirocache这个线程相关的内容

  3. SQLSERVER 2014 SP1 的服务器 日志文件无法收缩的处理

    1. 公司一台服务器 日子会文件到了 100g+ 但是无法收缩 2. 根据同事的经验进行验证 dbcc loginfo 单独看改数据库的 dbcc loginfo("CWBASEGS60&q ...

  4. reshape、shuffle、save_weights

    #-*- coding: utf-8 -*- import pandas as pd from random import shuffle import matplotlib.pyplot as pl ...

  5. java List<String>的初始化

    今天在处理生成excel的时候用到了java的list,但是需要直接赋值固定的几个变量,如果先初始化然后add的方法: List<String> name = new ArrayList( ...

  6. sql server2005查询分析器显示行号方法

    工具栏:工具--选项--文本编辑器---所有语言--右边复选框 行号 打上勾就ok了

  7. SQL 事务 begin tran、commit tran、rollback tran 的用法

    首先理解一下这三个事务的大概意思: begin Transaction 可以理解成新建一个还原点. commit Transaction 提交这个自begin tran开始的修改 rollback T ...

  8. BZOJ1283 序列(费用流)

    不妨看做是先用k个指针指向被选择的前k个元素,然后每次将选中当前第一个元素的指针移到最后,并且需要满足位置变化量>=m.显然这样可以构造出所有的合法方案.那么可以以此建立费用流模型,以一条流量k ...

  9. BZOJ3998 TJOI2015弦论(后缀数组+二分答案)

    先看t=1的情况.显然得求出SA(因为我不会SAM).我们一位位地确定答案.设填到了第len位,二分这一位填什么之后,在已经确定的答案所在的范围(SA上的某段区间)内二分,找到最后一个小于当前串的后缀 ...

  10. Java中子类和父类相关方法的执行顺序

    无意中看到下面一个题目,大家一起来看看最后的输出结果是什么.反正我看完之后,用IDE测试后感觉知识点得到巩固了. /** * 函数执行顺序测试 * Created by 萌小Q on 2017/5/1 ...