文档章节

hbase客户端API

 水木星辰
发布于 10/15 15:02
字数 1168
阅读 20
收藏 0

本章介绍用于对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()

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

 

本文转载自:https://www.cnblogs.com/xinfang520/p/7717359.html

粉丝 3
博文 60
码字总数 682
作品 0
南京
架构师
私信 提问
HBase实战 | Hive数据导入云HBase

网络环境 专线:用户需要把hbase集群的VPC相关网络信息配置到专线里面,可直通hbase环境 公有云虚拟机VPC环境:选择和hbase通VPC 其他:需要开hbase公网 注意:默认导入hbase数据,依赖的hba...

hbase小能手
2018/11/14
0
0
Windows HBase2.2.0安装部署踩坑

下载安装 hbase下载 解压之后根目录,没有什么要修改的。 配置文件目录,主要修改hbase-env.cmd和hbase-site.xml hbase-env.cmd HBASEMANAGESZK值为false表示zookeeper外装,HBASEMANAGESZK的...

trayvon
06/25
164
0
HBase实践 | HBase ThriftServer Kerberos认证

1.前置 用户可以通过ThriftServer来访问HBase服务,它的特点如下: ThriftServer代理用户访问HBase服务返回操作结果,用户客户端不需要直接跟HBase进行通信 用户可以使用java/python/php/c++...

封神
2018/11/27
0
0
hive 与 hbase 结合

一、hive与hbase的结合 Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要。使用Hive读取Hbase中的数据,可以使用HQL语句在HBase表上进行查询、插入操作;甚...

meteor_hy
2018/06/26
0
0
hbase权限管理(访问控制标签ACL)

版权声明:本文为博主原创文章,转载请注明来源。开发合作联系luanpenguestc@sina.com https://blog.csdn.net/luanpeng825485697/article/details/85605484 默认情况下,访问hbase是不需要用...

数据架构师
01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

83、Mybatis和Hibernate重要区别

Mybatis;入门简单,程序容易上手开发,节省开发成本。Mybatis需要程序猿自己编写sql语句,是一个不完全的ORM框架,对sql修改和优化非常容易实现。 Mybatis适合开发需求变更频繁的系统,比如...

lianbang_W
今天
5
0
设计模式之状态模式

定义 Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改...

陈年之后是青葱
今天
6
0
Python常用模块之os.path

os.path.abspath(path) 输入相对路径,返回绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32Type "copyright", "credits" or "lic......

松鼠大帝
今天
11
0
001. JAVA程序运行原理分析

1. 先来看看JVM运行时数据区的结构 线程独占: 每个线程都有它独立的空间,随线程生命周期而创建和销毁。 线程共享: 所有线程能访问这块内存数据,随虚拟机GC 而创建和销毁。 JVM 用来存储加载...

紫穹
今天
24
0
SDN核心思想&Mininet

2.1ONF定义的SDN基本架构: 应用层:实现网络流量的灵活控制,使网络作为管道智能 控制层:网络虚拟化实现方式,核心技术OpenFlow 转发层新型创新架构,实现网络设备控制与转发分离 2与3之间...

Firefly-
昨天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部