- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop快速入门第二十八讲 HBase Java API讲师:gerry (北风网版权所有)上海育创网络科技有限公司概述 HBase参考shell命令提供了Java API方便我们来操作hbase服务,除了java api以外,hbase还提供了thrift服务,通过thrift服务,我们可以直接通过jdbc来访问hbase的数据。在本次课程中不介绍基于thrift的hbase应用,只介绍基于java api的知识。HBase的相关包可以通过maven引入,pom文件内容如下: groupIdorg.apache.hbase/groupId artifactIdhbase-client/artifactId version0.98.6-hadoop2/versionHBase连接配置信息 HBase的数据是存储在region中的,而提供服务的也是region(region server),所以连接hbase实际上指的就是连接region。由于hbase的namespace信息保存到zk集群中,所以只需要连接上zk集群就可以找到hbase的region位置。HBase Java客户端通过给定的HBaseConfiguration类来定义连接所需要的配置信息,HBase客户端程序默认会读取classpath根目录下的hbase-site.xml文件,也可以通过手动给定zk服务器的参数信息,主体代码如下:Configuration config = HBaseConfiguration.create();config.set(hbase.zookeeper.quorum, hh);HBase连接创建 HBase的配置信息对象创建成功后,就可以创建HBase的连接,HBase没有一个专门的用来表示连接的类(不同的操作使用不同的类),如果需要对HBase的表结构进行操作,那么需要创建HBaseAdmin类实例对象,如果是对表数据进行操作,那么需要创建HTableInterface/HTable实例对象。创建代码分别如下所示:// 1. 创建操作表结构的实例对象HBaseAdmin hadmin = new HBaseAdmin(config);hadmin.close(); // 关闭操作// 2. 创建操作表数据的实例对象HTable table = new HTable(config, tableName);table.close(); // 关闭操作HBase DML操作 HBase的DML操作主要包括命名空间管理、用户表管理。管理DML操作的类是HBaseAdmin类,通过该类提供的一些接口/方法,我们可以创建、删除、获取用户表,也可以对用户表进行分割、紧缩等操作。主要涉及到的类有:org.apache.hadoop.hbase.client.HBaseAdmin: DML操作主类org.apache.hadoop.hbase.TableName: 表示表名的类org.apache.hadoop.hbase.HColumnDescriptor: 表示hbase列簇的类org.apache.hadoop.hbase.NamespaceDescriptor: 表示命名空间的类org.apache.hadoop.hbase.HTableDescriptor: 表示hbase表的类HBase DML操作--案例1. 创建一个命名空间2. 删除命名空间3. 创建一个新表4. 创建表的时候给定这个region的个数以及这个表的保存版本数量5. 给表添加新的family6. 给已有的family上添加新的属性7. 删除family8. 删除表9. 查看表是否存在HBase DDL操作 HBase的DDL操作主要用户表数据的增加、删除和查询操作。主要涉及到的类有:org.apache.hadoop.hbase.client.Get:根据rowkey获取数据的类org.apache.hadoop.hbase.client.Put:添加数据的类org.apache.hadoop.hbase.client.Delete:删除数据的类org.apache.hadoop.hbase.client.Increment:HBase中用于计数的方式,强制一致性org.apache.hadoop.hbase.client.Scan:批量获取数据的类org.apache.hadoop.hbase.client.Result:HBase返回的结果类org.apache.hadoop.hbase.client.ResultScanner:Result的迭代器类org.apache.hadoop.hbase.Cell:Result类中,返回的单元格表示类HBase
文档评论(0)