这篇文章主要介绍了Hbase如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
与关系型数据库对比:
一创建表只需要指定famliy列族,不需要指定具体的列以及类型
@PostConstruct
公共布尔创建表(){ 0
log.info('创建表格开始');
TableName TableName=TableName。(这个的值。gettablename());
尝试{
admin admin=连接。GetAdmin();
if(!管理员。tableexists(tableName)){ 0
' log.info(tableName.toString()'不存在,创建它');
desc=新的描述符;
HColumnDescriptor colDesc = new HColumnDescriptor(FAMILY);
TD ESC。addfamily(冷ESC);
管理员。创建表格(desc);
管理员。close();
}
log.info('创建表尾');
返回真;
} catch(IOexception e){ 0
log.error('创建表错误{} {} ',tableName,e . getlocalized message());
返回错误的
}
}
2存储数据格式HBASE值全部采用byte[] 字节数据形式存储
优势:1 不需要提前处理数据类型统一采用Bytes.toByte() 所以存储速度更高
2与原始数据类型相比,序列化后的字节[]形式存储可以节省字节
3可以根据rowKey进行范围查找,这个需要将rowKey设计得当。
@覆盖
公共列表获取范围(字符串开始,字符串结束){ 0
尝试{
表表=连接。gettable(tablename。(getTableName()))的值;
扫描扫描=新扫描();
扫描。TertArtRow(开始。GetBytes(),true)。(end.getBytes(),true);
结果扫描仪扫描仪=表格。getscanner(扫描);
list list=new ArrayList();
对于(结果结果:扫描仪){ 0
名单。add(getObj(结果));
}
退货清单;
}捕获(例外e){ 0
log.error('HBase批量获取数据失败,e);
}
返回收藏。emptylist();}
感谢你能够认真阅读完这篇文章,希望小编分享的“Hbase如何使用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/137953.html