- 浏览: 536339 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
飞天奔月:
public List<String> gener ...
实践中的重构30_不做油漆匠 -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道public class A {
...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道在世界的中心呼喚愛 写道在classB ...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
在世界的中心呼喚愛 写道在classB的finalize上打断 ...
深入理解ReferenceQueue GC finalize Reference -
在世界的中心呼喚愛:
iteye比较少上,如果可以的话,可以发e-mail交流:ch ...
深入理解ReferenceQueue GC finalize Reference
https://github.com/zhang-xzhi/simplehbase/
https://github.com/zhang-xzhi/simplehbase/wiki
### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList);
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type);
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,long timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,Date timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequestList)
public void deleteObjectMV(RowKey rowKey, Class<?> type, long timeStamp)
public void deleteObjectMV(RowKey rowKey, Class<?> type, Date timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,long timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,Date timeStamp)
public void deleteObjectListMV(List<DeleteRequest> deleteRequestList,Class<?> type);
Util新增(前缀查询使用)
public static RowKey getEndRowKeyOfPrefix(RowKey prefixRowKey)
性能改进
把get的实现从scan调回get。
### v0.7新增功能:
支持查询时主记录和关联的RowKey同时返回。
由于github不稳定,使用说明附在文档后面。
## simplehbase简介
simplehbase是java和hbase之间的轻量级中间件。
主要包含以下功能。
* 数据类型映射:java类型和hbase的bytes之间的数据转换。
* 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。
* hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。
* 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。
* insert,update支持: 建立在hbase的checkAndPut之上。
* hbase多版本支持:提供接口可以对hbase多版本数据进行查询,映射。
* hbase原生接口支持。
## simplehbase示例(SampleMain.java)
### 使用simplehbaseclient操作hbase
SimpleHbaseClient simpleHbaseClient = getSimpleHbaseClient();
//insert one record.
Person one = new Person();
one.setId(1);
one.setName("allen");
one.setAge(30);
one.setGender(Gender.MALE);
simpleHbaseClient.putObject(new PersonRowKey(1), one);
//insert another record.
Person two = new Person();
two.setId(2);
two.setName("dan");
two.setAge(31);
two.setGender(Gender.FEMALE);
simpleHbaseClient.putObject(new PersonRowKey(2), two);
//search by row key.
Person result = simpleHbaseClient.findObject(new PersonRowKey(1),
Person.class);
log.info(result);
//search by range.
List<Person> resultList = simpleHbaseClient.findObjectList(
new PersonRowKey(1), new PersonRowKey(3), Person.class);
log.info(resultList);
//HQL query.
Map<String, Object> para = new HashMap<String, Object>();
para.put("id", 1);
resultList = simpleHbaseClient.findObjectList(new PersonRowKey(1),
new PersonRowKey(3), Person.class, "queryById", para);
log.info(resultList);
//dynamic HQL.
para.put("name", "allen");
para.put("age", 0);
resultList = simpleHbaseClient.findObjectList(new PersonRowKey(1),
new PersonRowKey(3), Person.class, "queryByNameAndAge", para);
log.info(resultList);
//batch delete.
simpleHbaseClient.deleteObjectList(new PersonRowKey(0),
new PersonRowKey(100), Person.class);
### 初始化simplehbase
HBaseDataSource hbaseDataSource = new HBaseDataSource();
List<Resource> hbaseConfigResources = new ArrayList<Resource>();
//If run on hbase cluster, modify the following config files.
//If run on hbase stand alone mode, comment out the following config files.
hbaseConfigResources.add(new CachedFileSystemResource(
"sample\\hbase_site"));
hbaseConfigResources
.add(new CachedFileSystemResource("sample\\zk_conf"));
hbaseDataSource.setHbaseConfigResources(hbaseConfigResources);
hbaseDataSource.init();
HBaseTableConfig hbaseTableConfig = new HBaseTableConfig();
//simplehbase config file.
hbaseTableConfig.setConfigResource(new CachedFileSystemResource(
"sample\\myRecord.xml"));
hbaseTableConfig.init();
SimpleHbaseClient tClient = new SimpleHbaseClientImpl();
tClient.setHbaseDataSource(hbaseDataSource);
tClient.setHbaseTableConfig(hbaseTableConfig);
return tClient;
### simplehbase配置xml
包含htable的配置和2个动态查询的配置
<SimpleHbase>
<HBaseTableSchema tableName="MyRecordV05" defaultFamily="MyRecordFamily">
<HBaseColumnSchema qualifier="id" typeName="int" />
<HBaseColumnSchema qualifier="name" typeName="string" />
<HBaseColumnSchema qualifier="date" typeName="date" />
<HBaseColumnSchema qualifier="gender" typeName="allen.sample.Gender" />
<HBaseColumnSchema qualifier="age" typeName="int" />
</HBaseTableSchema>
<statements>
<statement id="queryByNameAndAge">
select where id greaterequal #id#
<isPropertyAvailable prepend="and" property="name">
name equal #name#
</isPropertyAvailable>
<isPropertyAvailable prepend="and" property="age">
age greater #age#
</isPropertyAvailable>
</statement>
<statement id="queryById">
select where id equal #id#
</statement>
</statements>
</SimpleHbase>
### 定义DO对象
@HBaseTable(defaultFamily = "MyRecordFamily")
public class Person {
@HBaseColumn(qualifier = "id")
private int id;
@HBaseColumn(qualifier = "name")
private String name;
@HBaseColumn(qualifier = "date")
private Date date;
@HBaseColumn(qualifier = "gender")
private Gender gender;
@HBaseColumn(qualifier = "age")
private int age;
}
### 定义该DO对象对应的rowkey
public class PersonRowKey implements RowKey {
private int row;
public PersonRowKey(int row) {
this.row = row;
}
@Override
public byte[] toBytes() {
return Bytes.toBytes(row);
}
}
##simphbase simplehbaseviewer使用说明
### simplehbase/simplehbaseviewer版本
0.5.1 / 0.6 / 0.7
### jdk
jdk/jre 1.6
### maven
maven2
### 代码下载
最新simplehbase代码下载。
https://github.com/zhang-xzhi/simplehbase
右下角的download zip。
带版本的simplehbase版本下载。
https://github.com/zhang-xzhi/simplehbase/releases
最新simplehbaseviewer代码下载。
https://github.com/zhang-xzhi/simplehbaseviewer
右下角的download zip。
带版本的simplehbaseviewer版本下载。
https://github.com/zhang-xzhi/simplehbaseviewer/releases
### Simplehbase本地验证
代码下载后,mvn eclipse:eclipse后导入eclipse。
运行simplehbase的test。(Junit)
目前simplehbase默认的测试环境为
hbase.zookeeper.quorum=hbdev-1.alipay.net,hbdev-2.alipay.net,hbdev-3.alipay.net,hbdev-4.alipay.net,hbdev-5.alipay.net
hbase.zookeeper.property.clientPort=2181
zookeeper.znode.parent=/hbase-94
* 1 若无法连接,修改test/zk_conf文件(集成测试使用,修改sample/zk_conf文件(样例程序使用)。
* 2 建测试表。运行CreateTestTable, 新建MyRecordV05表。
* 3 建表成功后,重新运行test,后续运行,不需要重新建立测试表。
* 4 新增htable的配置,请参考既有表的配置。
### Simplehbaseviewer本地验证
安装simplehbase到本地仓库。
在simplehbase项目中,mvn install。
simplehbaseviewer代码下载后,mvn eclipse:eclipse后导入eclipse。
运行Main。
访问http://localhost:4040/hbaseviewer/
看simplehbaseview是否启动正常。
目前simplehbaseviewer默认的测试环境为
hbase.zookeeper.quorum=hbdev-1.alipay.net,hbdev-2.alipay.net,hbdev-3.alipay.net,hbdev-4.alipay.net,hbdev-5.alipay.net
hbase.zookeeper.property.clientPort=2181
zookeeper.znode.parent=/hbase-94
* 1 若无法连接,修改config/zk_conf文件。
* 2 建测试表。运行CreateTestTable, 新建MyRecordV05表。
* 3 建表成功后,重新运行Main。
### Simplehbase jar包依赖
pom依赖,请参考simplehbase的pom文件。
其中,hadoop和hbase可以修改为目前集团hbase使用的版本。
Simplehbase开发测试过程中使用的hbase版本为0.94.0。
理论上,hbase0.92也可以使用,但是未经测试,可以跑test进行测试。
### Simplehbaseclient配置
SimpleHbaseClient为simplehbase的核心接口。
Java方式配置可以参考simplehbase的SampleMain。
Spring方式配置可以参考simplehbaseviewer的
\hbaseviewer\WEB-INF\spring\simplehbase.xml
如何配置可以参考或直接查看代码:
https://github.com/zhang-xzhi/simplehbase/wiki/C02-simplehbaseclient-配置
### doc
* https://github.com/zhang-xzhi/simplehbase/wiki
* https://github.com/zhang-xzhi/simplehbaseviewer/wiki
* simplehbase下载后simplehbase\doc
QQ错了 51319429
https://github.com/zhang-xzhi/simplehbase/wiki
### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList);
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type);
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,long timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,Date timestamp)
public <T> void putObjectListMV(List<PutRequest<T>> putRequestList)
public void deleteObjectMV(RowKey rowKey, Class<?> type, long timeStamp)
public void deleteObjectMV(RowKey rowKey, Class<?> type, Date timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,long timeStamp)
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,Date timeStamp)
public void deleteObjectListMV(List<DeleteRequest> deleteRequestList,Class<?> type);
Util新增(前缀查询使用)
public static RowKey getEndRowKeyOfPrefix(RowKey prefixRowKey)
性能改进
把get的实现从scan调回get。
### v0.7新增功能:
支持查询时主记录和关联的RowKey同时返回。
由于github不稳定,使用说明附在文档后面。
## simplehbase简介
simplehbase是java和hbase之间的轻量级中间件。
主要包含以下功能。
* 数据类型映射:java类型和hbase的bytes之间的数据转换。
* 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。
* hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。
* 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。
* insert,update支持: 建立在hbase的checkAndPut之上。
* hbase多版本支持:提供接口可以对hbase多版本数据进行查询,映射。
* hbase原生接口支持。
## simplehbase示例(SampleMain.java)
### 使用simplehbaseclient操作hbase
SimpleHbaseClient simpleHbaseClient = getSimpleHbaseClient();
//insert one record.
Person one = new Person();
one.setId(1);
one.setName("allen");
one.setAge(30);
one.setGender(Gender.MALE);
simpleHbaseClient.putObject(new PersonRowKey(1), one);
//insert another record.
Person two = new Person();
two.setId(2);
two.setName("dan");
two.setAge(31);
two.setGender(Gender.FEMALE);
simpleHbaseClient.putObject(new PersonRowKey(2), two);
//search by row key.
Person result = simpleHbaseClient.findObject(new PersonRowKey(1),
Person.class);
log.info(result);
//search by range.
List<Person> resultList = simpleHbaseClient.findObjectList(
new PersonRowKey(1), new PersonRowKey(3), Person.class);
log.info(resultList);
//HQL query.
Map<String, Object> para = new HashMap<String, Object>();
para.put("id", 1);
resultList = simpleHbaseClient.findObjectList(new PersonRowKey(1),
new PersonRowKey(3), Person.class, "queryById", para);
log.info(resultList);
//dynamic HQL.
para.put("name", "allen");
para.put("age", 0);
resultList = simpleHbaseClient.findObjectList(new PersonRowKey(1),
new PersonRowKey(3), Person.class, "queryByNameAndAge", para);
log.info(resultList);
//batch delete.
simpleHbaseClient.deleteObjectList(new PersonRowKey(0),
new PersonRowKey(100), Person.class);
### 初始化simplehbase
HBaseDataSource hbaseDataSource = new HBaseDataSource();
List<Resource> hbaseConfigResources = new ArrayList<Resource>();
//If run on hbase cluster, modify the following config files.
//If run on hbase stand alone mode, comment out the following config files.
hbaseConfigResources.add(new CachedFileSystemResource(
"sample\\hbase_site"));
hbaseConfigResources
.add(new CachedFileSystemResource("sample\\zk_conf"));
hbaseDataSource.setHbaseConfigResources(hbaseConfigResources);
hbaseDataSource.init();
HBaseTableConfig hbaseTableConfig = new HBaseTableConfig();
//simplehbase config file.
hbaseTableConfig.setConfigResource(new CachedFileSystemResource(
"sample\\myRecord.xml"));
hbaseTableConfig.init();
SimpleHbaseClient tClient = new SimpleHbaseClientImpl();
tClient.setHbaseDataSource(hbaseDataSource);
tClient.setHbaseTableConfig(hbaseTableConfig);
return tClient;
### simplehbase配置xml
包含htable的配置和2个动态查询的配置
<SimpleHbase>
<HBaseTableSchema tableName="MyRecordV05" defaultFamily="MyRecordFamily">
<HBaseColumnSchema qualifier="id" typeName="int" />
<HBaseColumnSchema qualifier="name" typeName="string" />
<HBaseColumnSchema qualifier="date" typeName="date" />
<HBaseColumnSchema qualifier="gender" typeName="allen.sample.Gender" />
<HBaseColumnSchema qualifier="age" typeName="int" />
</HBaseTableSchema>
<statements>
<statement id="queryByNameAndAge">
select where id greaterequal #id#
<isPropertyAvailable prepend="and" property="name">
name equal #name#
</isPropertyAvailable>
<isPropertyAvailable prepend="and" property="age">
age greater #age#
</isPropertyAvailable>
</statement>
<statement id="queryById">
select where id equal #id#
</statement>
</statements>
</SimpleHbase>
### 定义DO对象
@HBaseTable(defaultFamily = "MyRecordFamily")
public class Person {
@HBaseColumn(qualifier = "id")
private int id;
@HBaseColumn(qualifier = "name")
private String name;
@HBaseColumn(qualifier = "date")
private Date date;
@HBaseColumn(qualifier = "gender")
private Gender gender;
@HBaseColumn(qualifier = "age")
private int age;
}
### 定义该DO对象对应的rowkey
public class PersonRowKey implements RowKey {
private int row;
public PersonRowKey(int row) {
this.row = row;
}
@Override
public byte[] toBytes() {
return Bytes.toBytes(row);
}
}
##simphbase simplehbaseviewer使用说明
### simplehbase/simplehbaseviewer版本
0.5.1 / 0.6 / 0.7
### jdk
jdk/jre 1.6
### maven
maven2
### 代码下载
最新simplehbase代码下载。
https://github.com/zhang-xzhi/simplehbase
右下角的download zip。
带版本的simplehbase版本下载。
https://github.com/zhang-xzhi/simplehbase/releases
最新simplehbaseviewer代码下载。
https://github.com/zhang-xzhi/simplehbaseviewer
右下角的download zip。
带版本的simplehbaseviewer版本下载。
https://github.com/zhang-xzhi/simplehbaseviewer/releases
### Simplehbase本地验证
代码下载后,mvn eclipse:eclipse后导入eclipse。
运行simplehbase的test。(Junit)
目前simplehbase默认的测试环境为
hbase.zookeeper.quorum=hbdev-1.alipay.net,hbdev-2.alipay.net,hbdev-3.alipay.net,hbdev-4.alipay.net,hbdev-5.alipay.net
hbase.zookeeper.property.clientPort=2181
zookeeper.znode.parent=/hbase-94
* 1 若无法连接,修改test/zk_conf文件(集成测试使用,修改sample/zk_conf文件(样例程序使用)。
* 2 建测试表。运行CreateTestTable, 新建MyRecordV05表。
* 3 建表成功后,重新运行test,后续运行,不需要重新建立测试表。
* 4 新增htable的配置,请参考既有表的配置。
### Simplehbaseviewer本地验证
安装simplehbase到本地仓库。
在simplehbase项目中,mvn install。
simplehbaseviewer代码下载后,mvn eclipse:eclipse后导入eclipse。
运行Main。
访问http://localhost:4040/hbaseviewer/
看simplehbaseview是否启动正常。
目前simplehbaseviewer默认的测试环境为
hbase.zookeeper.quorum=hbdev-1.alipay.net,hbdev-2.alipay.net,hbdev-3.alipay.net,hbdev-4.alipay.net,hbdev-5.alipay.net
hbase.zookeeper.property.clientPort=2181
zookeeper.znode.parent=/hbase-94
* 1 若无法连接,修改config/zk_conf文件。
* 2 建测试表。运行CreateTestTable, 新建MyRecordV05表。
* 3 建表成功后,重新运行Main。
### Simplehbase jar包依赖
pom依赖,请参考simplehbase的pom文件。
其中,hadoop和hbase可以修改为目前集团hbase使用的版本。
Simplehbase开发测试过程中使用的hbase版本为0.94.0。
理论上,hbase0.92也可以使用,但是未经测试,可以跑test进行测试。
### Simplehbaseclient配置
SimpleHbaseClient为simplehbase的核心接口。
Java方式配置可以参考simplehbase的SampleMain。
Spring方式配置可以参考simplehbaseviewer的
\hbaseviewer\WEB-INF\spring\simplehbase.xml
如何配置可以参考或直接查看代码:
https://github.com/zhang-xzhi/simplehbase/wiki/C02-simplehbaseclient-配置
### doc
* https://github.com/zhang-xzhi/simplehbase/wiki
* https://github.com/zhang-xzhi/simplehbaseviewer/wiki
* simplehbase下载后simplehbase\doc
评论
5 楼
tory7108121
2015-06-07
楼主,主要用那个目录下的代码呢!
4 楼
yxl0917
2014-06-18
项目中使用了 apache phoenix , 10亿的数据范围内性能还可以。
3 楼
zhang_xzhi_xjtu
2014-05-06
zhang_xzhi_xjtu 写道
我没有测试过,你按照文档的说明,跑下simplehbase自带的测试,基本覆盖了所有simplehbase的使用场景,能跑过就说明可以兼容。
有问题可以加我QQ 51319429联系我。
一般晚上10:30后会上线一段时间。
有问题可以加我QQ 51319429联系我。
一般晚上10:30后会上线一段时间。
QQ错了 51319429
2 楼
zhang_xzhi_xjtu
2014-05-05
我没有测试过,你按照文档的说明,跑下simplehbase自带的测试,基本覆盖了所有simplehbase的使用场景,能跑过就说明可以兼容。
有问题可以加我QQ 51319428联系我。
一般晚上10:30后会上线一段时间。
有问题可以加我QQ 51319428联系我。
一般晚上10:30后会上线一段时间。
1 楼
yxl0917
2014-05-05
楼主你好: 能与Hbase0.98.1这个版本结合使用吗?
发表评论
-
hbase分页功能的几种实现方案
2015-01-13 23:52 5458hbase分页功能的几种实现方案。 分页功能是线上系统的常用 ... -
simplehbase v0.98.1开始支持hbase0.98
2014-12-29 21:48 1105https://github.com/zhang-xzhi/s ... -
hbase轻量级中间件simplehbase v1.0简介
2014-12-13 18:55 1401https://github.com/zhang-xzhi/s ... -
hbase put UML图
2014-12-11 23:40 1303create Htable put hbase rpc ... -
hbase开发问题-PooledHTable多次close导致问题
2014-12-11 23:27 2068PooledHTable多次close导致问题 Pooled ... -
hbase的CoprocessorProtocol及一个简单的通用扩展实现V2
2014-12-04 18:00 2110hbase中的CoprocessorProtocol机制. ... -
hbase 0.94.0 0.94.9 0.94.24 功能不兼容初步分析
2014-12-04 16:10 1118hbase 0.94.0 0.94.9 0.94.24 功能不 ... -
simplehbase对JOPO新增xml配置和无配置方式
2014-10-24 22:50 994simplehbase介绍文章如下: https://gith ... -
hbase轻量级中间件simplehbase v0.9简介
2014-07-14 13:57 642https://github.com/zhang-xzhi/s ... -
hbase开发问题-hbase版本号报错
2014-04-22 19:19 2774由于使用了自定义的classloader,导致报错。 p ... -
HBase Client使用注意点
2014-04-21 12:51 2556HBase Client使用注意点: 1 HTable线程 ... -
hbase开发问题-hbase-0.94.0的ServerCallable callTimeout处理有问题
2014-04-14 22:07 2250读hbase-0.94.0的ServerCallable时,发 ... -
Phoenix和simplehbase功能简单比较
2014-04-02 17:20 1635Phoenix和simplehbase功能简单比较 大数据应 ... -
hbase web console simplehbaseviewer
2014-03-12 19:11 1252https://github.com/zhang-xzhi/s ... -
hbase轻量级中间件simplehbase v0.2简介
2013-12-19 23:51 1697https://github.com/zhang-xzhi/s ... -
hbase轻量级中间件simplehbase v0.1简介
2013-10-09 19:29 1559simplehbase尝试简化基于hbase的java应用开发 ... -
hbase的CoprocessorProtocol及一个简单的通用扩展实现V1
2013-08-18 14:15 5306hbase的CoprocessorProtocol及一个简单的 ... -
hbase的基本操作
2013-08-18 14:02 4486本文列举一些hbase的基本操作代码。 package ... -
hadoop_hadoop的一次读取
2013-04-29 13:09 1892一次hadoop的read getFileSystem 代码 ... -
hadoop_hadoop的map reduce
2011-11-09 21:21 1258这个根据功能模块分为 ...
相关推荐
标题“hbase轻量级中间件simplehbase v0.1简介”揭示了我们要讨论的主题——SimpleHBase,它是一个针对Apache HBase的轻量级中间件,版本为v0.1。这个中间件可能是为了简化HBase的使用,提高开发效率而设计的。描述...
simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。 数据类型映射:java类型和hbase的bytes之间的数据转换。 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。 hbase ...
SimpleHbase是一款针对Java开发的轻量级中间件,它主要设计用于简化HBase数据库的操作。这个库提供了数据类型映射、操作封装、查询封装、动态查询、多版本支持、批量操作等一系列功能,使得Java开发者可以更加高效地...
**标题:“HBase轻量级框架Parrot”** 在大数据处理领域,Apache HBase是一个流行的分布式、面向列的NoSQL数据库,它构建于Hadoop之上,提供了实时的随机读写能力。然而,对于某些特定场景,HBase的使用可能过于...
hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...
HBase 二级索引 HBase 二级索引是指在 HBase 之上建立的一种二级索引机制,用于提高查询效率。根据华为公布的 HBase 二级索引实现方案,本方案主要参照了该方案,设计了 HBase 的二级索引机制。 知识点一:HBase ...
SimpleHbase1.0,作为一款轻量级的Java与Hbase交互中间件,它的出现极大地简化了Java开发者在处理Hbase数据时的操作流程。这款工具以其高效、易用的特点,深受广大开发者的青睐。下面我们将详细探讨SimpleHbase1.0的...
二级索引在HBase中的应用,是为了弥补其一级索引(RowKey索引)的不足,它为非RowKey字段提供了快速访问的通道。 首先,我们需要理解HBase的一级索引。HBase的表数据是按照RowKey排序存储的,RowKey是唯一标识一条...
CDH 使用 Solr 实现 HBase 二级索引 在大数据处理中,HBase 是一种流行的 NoSQL 数据库,用于存储大量的数据。然而,在查询和检索数据时,HBase 的性能可能不太理想。这是因为 HBase 是基于 Key-Value 的存储方式,...
在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...
public class IndexBuilder3 extends Configured{ public static class MapperIndex extends TableMapper,Put>{ private String tableName; private String columnFamily; private String[] qualifiers;...
HBase提供毫秒级的实时读写性能,适用于需要快速响应的应用场景,如物联网、实时监控等。 **9. 客户端API** HBase提供了多种客户端API,包括Java、Python、PHP等,方便开发人员进行数据操作和应用开发。 **10. ZK...
### 360HBASE二级索引的设计与实践 #### 背景 在大数据处理领域,特别是面对海量数据(如千亿级别的数据量)时,高效的数据存储与快速查询成为了关键的技术挑战之一。HBase作为一种分布式、面向列的NoSQL数据库...
HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性
Hbase shell 、Hbase api、Hbase 配置
### HBase二级索引与JOIN知识点详解 #### HBase简介 - **定义**: HBase是一种分布式、面向列的NoSQL数据库系统,它基于Google Bigtable论文实现。 - **底层架构**: HBase的数据存储依赖于Hadoop Distributed File ...