HBase Java 核心API介绍(最重要核心帮你列全)

1.HBaseConfiguration

它是HBase的配置类,通过HBaseConfiguration类可以对HBase运行时环境进行配置,所有的操作都需要先创建HBaseConfiguration类的实例,可以通过该类的静态方法create()获得。用法示例如下:
Configuration configuration = HBaseConfiguration.create();
上述语句会从classpath中查找hbase-site.xml文件如果查不到则使用默认配置文件

2.Connection

它表示HBase的连接,通过Connection接口的实例能够查找到HMaster、定位HRegion在集群中的位置并缓存,另外table和admin实例也要从Connection实例中获取数据。

3.Admin

它是为管理HBase提供的接口,他提供了相当于HBase Shell中的DDL操作。下面有接口常用方法介绍

返回值方法功能
voidcreateTable(HTableDescriptor desc)创建一个新表
HTableDescriptor[]listTables()列出所有的表
voiddeleteTable(TableName tableName)删除一个已经存在的表
voidenableTable(TableName tableName)使表有效
voiddisableTable(TableName tableName)使表 无效
voidmodifyTable(TableName tableName,HTableDescriptor htd)修改一个已经存在的表
booleanTableExists(TableName tableName)检查表是否存在

4.HTableDescriptor、TableName、Table

  • HTableDescriptor这个类包含了表的名字及对应的列族
  • TableName这个类是对应表名的封装类
  • Table接口主要用于和HBase中的表进行通信,改接口可以获取、添加、删除、扫描HBase表中的数据。
    4.1Table接口的常用方法
返回值方法功能
voidput(Put put)向表添加值,put表示添加操作
Resultget(Get get)获取单元值,get表示获取操作
voiddelete(Delete delete)删除指定的单元行,delete表示删除操作
ResultScannergetScanner(Scan)、getScanner(byte[]family,byte[]qualifier、getScanner(byte family)获取当前表的给定列族的Scanner实例,ResultScanner代表结果列表
booleanexists(Get get)检查Get实例所对应的值是否在Table中
HTableDescriptorgetTableDescriptor()获取表的HTableDescriptor实例
TableNamegetName()获取表名

5.HColumnDescriptor

这个类是对列族的描述,包含了列族名称、版本号、压缩设置等信息。该类的实例只在创建表或给表添加、删除列族时使用。值得注意的是,一旦列族被删除,对应列族中所保存的数据也将同时被删除。

6.put

put类为指定的行键添加列键和值
put类常用方法

返回值方法功能
putaddColumn(byte[]family),byte[]qualifier,byte[]value添加列键和值
putaddColumn(byte[]family),byte[]qualifier,long ts,byte[]value添加列键和值并添加时间戳
Listget(byte[]family,byte[]qualifier)返回put实例中与指定列键匹配的项,Cell是单元格实例
booleanhas(byte[]family,byte[]qualifier)检查put实例中是否包含指定的列键

7.Get

这个类用来获取表中单个行的数据

返回值方法功能
GetaddColumn(byte[]family),byte[]qualifier指定列族和对应的列\
GetaddFamily(byte[]family)指定列族
GetsetTimeRange(long minStamp,long maxStamp)指定列的版本号区间

8.Result

此类代表一行数据,可以从Result实例中获取单元格的行键、列键、版本号
Result类常用方法

返回值方法功能
NavigableMap<byte[],byte[]>getFamilyMap(byte[] family)获取列族下所有列名与值得映射
byte[]value()返回第一个列键的值
byte[]getValue(byte[]family,byte[]qualifier)获取指定列键的值
booleancontains(byte[]family,byte[]qualifier)检查列键是否存在
byte[]get Row()返回行键
ListlistCells获取指定行的所有Cell

9.Scan、ResultScanner

scan命令可以按全表扫描,也可以实现列族和列键扫描
Scan类的常用方法

返回值方法功能
ScanaddColumn(byte[]family,byte[]qualifier )获取指定列表和列修饰符对应的列
ScanaddColumn(byte[]family)获取指定列族下的所有列
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值