1. 软件版本 & 部署:
maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,Hibernate:4.3.6,Spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014;
Hadoop2.6.4,HBase1.1.2
源码下载:https://github.com/fansy1990/ssh_v3/releases
部署参考:http://blog.csdn.net/fansy1990/article/details/51356583
2. 系统功能及核心实现
2.1系统菜单
HBase表管理系统主要是对表以及表数据的相关操作;
2.2 表管理
直接打开Table管理界面,即可看到所有表的简要信息,包括数据库(namspace)、表名、简单表描述等;
这个查询的信息直接基于Admin的listTableNames方法,具体调用如下:
/**
* 获取所有表
*
* @return
* @throws IOException
*/
public List<HBaseTable> getTables() throws IOException {
List<HBaseTable> list = new ArrayList<>();
Admin admin = HadoopUtils.getHBaseConnection().getAdmin();
TableName[] tables = admin.listTableNames();
HBaseTable hTable = null;
for (TableName t : tables) {
hTable = new HBaseTable();
hTable.setNameSpace(t.getNamespaceAsString());
hTable.setTableName(t.getNameAsString());
// HTableDescriptor htableDes = admin.getTableDescriptor(t);
// System.out.println(htableDes.toString());
// System.out.println(htableDes.toStringTableAttributes());
// System.out.println(htableDes.getFamilies().toString());
// System.out.println(htableDes.toStringCustomizedValues());
hTable.setDescription(admin.getTableDescriptor(t)
.toStringCustomizedValues());
setRegions(hTable, admin.getTableRegions(t));
list.add(hTable);
}
return list;
}
2.2.1 表详细
表详细功能需要先选定一行记录,否则会提示:
选择一个记录后,点击表详细即可弹出表详细信息:
后台实现通过admin.getTableDescriptor即可获得表的详细信息,但是需要提供表名,表名可以从前天传入即可,如下: