HTable:这个是table对象,通过他来完成对hbase表的各种操作,删除,更新,创建,查询
RowFilter:对rowkey过滤查询的类
QualifierFilter:对子列做过滤查询的类
FilterList:复合filter的实现类
Get:rowkey定位器
Scan:查询扫描器
ResultScanner:查询结果扫描器
Result:单个查询结果
KeyValue:查询结果中的keyvalue原子项
//场景一,通过rowkey,列族,子列直接定位value
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Get get = new Get(“rowkey1”.getBytes());
get.addFamily(“myfamily”.getBytes());
Result rs = table.get(get);
If(rs.isEmpty()){
System.out.println(“no record”);
}else{
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
}
//场景二,使用rowkey的模糊匹配来查询
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Scan sc = new Scan(“somewords”)
sc.addFamily(“myfamily”.getBytes());
ResultScanner rsan = table.getScanner(sc);
Resullt rs = rsan.next();
If(rs==null){
System.out.println(“no record”);
}else{
While(rs!=null){
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
rs = rsan.next();
}
}
//场景三,使用rowkey和子列的filter进行条件查询
Configuration conf = Configuration.create();
HTable table = new HTable(conf,”mytable”);
Scan sc = new Scan()
sc.addFamily(“myfamily”.getBytes());
RowFilter filter1 = new RowFilter(CompareOp.EQUAL, new RegexStringComparator(“^”+accountlike+”~(.*)”));//利用正则表达式来查找rowkey
QualifierFilter filter2 = new QualifierFilter(CompareOp.LESS_OR_EQUAL,new BinaryComparator(“stop”.getBytes()));
QualifierFilter filter3 = new QualifierFilter(CompareOp.GREATER_OR_EQUAL,new BinaryComparator(“start”.getBytes()));
FilterList flist = new FilterList(FilterList.Operator.MUST_PASS_ALL);
flist.addFilter(filter1);
flist.addFilter(filter2);
flist.addFilter(filter3);
sc.addFilter(flist);
ResultScanner rsan = table.getScanner(sc);
Resullt rs = rsan.next();
If(rs==null){
System.out.println(“no record”);
}else{
While(rs!=null){
List<KeyValue> kvList = rs.list();
for(KeyValue kv : kvList){
System.out.println(new String(kv.getRow(),”UTF-8”) + “->”);
System.out.println(new String(kv.getQualifier (),”UTF-8”) + “:”);
System.out.println(new String(kv.getValue(),”UTF-8”) );
}
rs = rsan.next();
}
}
未完待续。。。
分享到:
相关推荐
自行制作的HBase 1.2.0 Javadoc API CHM版本。内容抽取自官方站点网页
**Java API** 是Java编程语言提供的应用程序接口,允许开发者使用Java来访问和操作Hadoop和HBase的功能。对于Hadoop,Java API主要包括`org.apache.hadoop.mapreduce`包下的类,如Job、Mapper、Reducer等,用于实现...
在Java中,我们可以使用HBase的Java API来与HBase交互,进行数据的读写操作。下面将详细介绍HBase Java API的核心概念和常用方法。 1. **连接HBase** 要连接到HBase,你需要创建一个`Configuration`对象,然后通过...
要使用Java API与HBase交互,首先需要在项目中引入HBase的依赖库,例如通过Maven或Gradle。主要涉及的类有`HBaseConfiguration`, `HTable`, `Put`和`BatchOperation`等。`HBaseConfiguration`用于配置HBase连接参数...
HBase API chm hadoop 分布式 java HBase0.90.4_API.chm
HBase的Python语言接口 Zohmg is a data store for aggregation of multi-dimensional time series data, built on top of Hadoop, Dumbo and HBase. 标签:zohmg
HBase数据查询API HBase是一种分布式的、面向列的NoSQL数据库,主要应用于存储大量的半结构化数据。HBase提供了多种查询方式,包括单条查询和批量查询。 单条查询 单条查询是通过rowkey在table中查询某一行的数据...
下面我们将深入探讨HBase的Java API及其在实际应用中的使用。 1. **HBase连接** 在Java中使用HBase,首先要建立与HBase服务器的连接。这通常通过`HBaseConfiguration.create()`方法创建一个配置对象,然后设置相关...
HBase Java API HBase 是 Hadoop 的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。HBase 的整体结构主要包括 HBase Master、HRegion 服务器和 HRegion Server...
赠送jar包:hbase-metrics-api-1.4.3.jar; 赠送原API文档:hbase-metrics-api-1.4.3-javadoc.jar; 赠送源代码:hbase-metrics-api-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-metrics-api-1.4.3.pom; ...
在本文中,我们将深入探讨如何使用HBase的Java API进行数据的增加、修改和删除操作。HBase是一个基于Google Bigtable设计的开源分布式数据库,它属于Apache Hadoop生态系统的一部分,适用于处理大规模数据存储。通过...
..Hbase11 Java API 介绍及使用示例.docx
..Hbase11 Java API 介绍及使用示例.pdf
本文旨在介绍如何使用 JavaAPI 调用 Hbase 实现批量导入操作,实现将手机上网日志文件批量导入到 Hbase 中。 一、准备工作 在开始批量导入操作之前,我们需要准备以下 несколько步骤: 1. 将日志文件...
HBase的Java客户端API提供了一系列的类和接口,使得开发者能够方便地在Java程序中创建、读取、更新和删除(CRUD)HBase表的数据。这些主要组件包括: 1. **HBase连接器(Connection)**:是访问HBase集群的入口点,...
本压缩包"javaApi_sparkhiveAPI_hbaseAPI.zip"包含了2019年8月至10月期间针对这些技术的Java版API实现,以及与Spark相关的Hive和HBase API。以下是关于这些技术的详细知识: 1. **Java API for Hive**: - **Hive*...
Java Hbase jar api hbase-0.20.6.jar hadoop-core-0.20.1.jar commons-logging-1.1.1.jar zookeeper-3.3.0.jar log4j-1.2.91.jar
使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...
HBase提供了Java API供开发者使用,以便更方便地与HBase进行交互。本文将详细介绍HBase Java API中的几个核心类及其功能。 #### 二、HBase Java API类介绍 ##### 1. HBaseConfiguration **关系**:`org.apache....