很多复杂的报表项目,是借助报表工具(或插件)来实现的,下面以jasperReport举例。这些报表工具可以对传统的数据源(关系型数据库、collections、java Bean Array)进行很好的支持。
HBase的数据结构虽然与关系型数据库不一样,但HBase本身就是java开发的。有专门的java API实现对HBase的操作,当然也包括查询,以下是一段java对HBase的查询代码:
HTable table=new HTable(hbaseConfig,tablename);
Get g = new Get(Bytes.toBytes(rowKey));
Result r=table.get(g);
for(KeyValue kv:r.raw()){
System.out.println("column: "+new String(kv.getColumn()));
System.out.println("value: "+new String(kv.getValue()));
}
通过以上查询代码,可以发现HBase的查询结果是存放到java Bean Array&collections中的,因此,通过一定的处理,基于HBase的报表是可以实现的。
以下是我个人简单的设计思路:
本人正处于Hadoop/HBase的入门阶段,对HBase的数据模型还没有理解透彻, 基于HBase的报表实现目前只是我个人的设想,欢迎有兴趣的朋友一起探讨!
基于HBase的报表实现设想
时间: 2024-10-13 02:52:17