hbase的api编程put数据_HBase Java编程入门教程

本文介绍了如何使用HBase的Java API进行开发,包括环境配置、构建Java客户端以及表的操作。重点讲解了Admin和Table接口的使用,以及HBaseConfiguration、HTableDescriptor等关键类的功能。示例代码涵盖了连接HBase、创建删除表、数据的增删查改操作。
摘要由CSDN通过智能技术生成

一款优秀的数据库除了会提供客户端,还会提供编程语言接口,HBase 也不例外。HBase 除了支持使用 Shell 客户端来操作(请看《HBase Shell及其常用命令》),还提供了多种编程语言的接口,其中 Java API 是原生支持的,其它编程语言接口需要通过 Thrift 协议支持。
本节只讲解 Java 接口编程,其它编程语言接口请转到《HBase Thrift协议编程入门教程》。
HBase 官方代码包里含有原生访问客户端,由 Java 语言实现,相关的类在 org.apache.hadoop.hbase.client 包中,都是与 HBase 数据存储管理相关的 API。
例如,若要管理 HBase,则用 Admin 接口来创建、删除、更改表;若要向表格添加数据或查询数据,则使用 Table 接口等。
下面主要介绍 Admin 和 Table 接 口以及 HBaseConfiguration、HTableDescriptor、HClounmDescriptor、Put、Get、Result、Scan 这些类的功能和常用方法。

开发环境配置

使用 Java 开发 Hbase,只需要将用到的 HBase 库包加入引用路径即可。本节使用 Eclipse 集成开发环境进行编程,如果系统已经安装 Maven,可以创建 Maven 项目,在 pom.xml 配置 HBase 的依赖即可自动下载 jar 包。
下面讲解如何在 Eclipse 中手动导入 HBase 库包。
首先创建 Java 工程,然后鼠标右键单击工程名,选择属性,在“Java构建路径”→“库”→ “添加外部JAR”中找到 HBase 安装目录下的 lib 子目录,将需要的库包导入工程,即可进行基本的 HBase 操作,如下图所示。

1640c111f4c05bb2b7704881328494e2.png

然后在工程目录 src下新建类文件,在 Java 文件中导入需要的 HBase 包,如 HBase 的环境配置包、HBase 客户端接口、工具包等:

6ee5f7f5e1f72a23fce654fec2b85555.png

在使用过程中可以根据需要加入更多的包,如 HBase 的过滤器等。

构建 Java 客户端

在分布式环境下,客户端访问 HBase 需要通过 ZooKeeper 的地址和端口来获取当前活跃的 Master 和所需的 RegionServer 地址。因此需要先用 HBaseCongifiguration 类配置 ZooKeeper 的地址和端口,然后再使用 Connection 类建立连接。
示例代码如下:

67c57a5b4f9a0a497ad79506b6df2c78.png

cm-cdh01 为 ZooKeeper 的地址,2181 为端口号。HBaseConfiguration.create() 方法用来创建相关配置,然后使用此配置信息进行数据库的连接。

表操作

连接数据库后,完成表的创建和删除。示例代码如下:

f999f365def1cbad39d127bd695cec48.png

其中,Admin 是 Java 的接口类型,在使用 Admin 时,必须调用 Connection.getAdmin() 方法返回一个子对象,然后用这个 Admin 接口来操作返回的子对象方法。
这个接口用于管理 HBase 数据库的表信息,包括创建、删除表和列出所有表项等,主要的方法参见下表。

3c992b0d968184c2b2bc7fbe9c0b8e5c.png

使用 get 方法获取某一行数据,代码示例如下:

7ccf7db4a8078f37f255592c67b7b498.png

通过 table.get() 方法进行查询后,将结果存入 result 中,其中包含多个键值对,本例中使用循环的方法将键值对逐个打印出来。CellUtil 接口提供每个单元格的定位值,如行键、列族、列和时间戳。
对 HBase 表的增、删、改、查,org.apache.hadoop.hbase.client 包提供了相应的类,除了已经举例说明的插入数据使用的 put 类、根据行键获取数据的 get 类外,还有进行全表扫描的 scan 类、 删除某行信息的 delete 类,甚至提供了扫描数据时进行过滤的 FilterList 类,读者可以在 HBase 官网获取详细信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值