近日, JasperSoft 宣布提供对大数据系统报表的支持,包括 Hadoop 、几种流行的 NoSQL 数据库以及 3 个 MPP 分析关系数据库上的各种模型报表。他们现在支持:
- Hadoop——Jaspersoft 通过 Hive SQL 接口和 HBase 支持 Hadoop,通过 HDFS 读取文件,包括 Avro 文件格式。
- NoSQL——Jaspersoft 对如下广泛使用的数据存储提供了 NoSQL 支持:键值存储、文档数据库、BigTable Clones、图形数据库以及 Data Grid Caching。Jaspersoft 的开源项目支持各种 NoSQL 技术报表,包括:Cassandra、MongoDB、Riak、HBase、CouchDB、Neo4J、Infinispan、VoltDB 以及 Redis。还有一个用于 VMware GemFire 的闭源连接器,目前处于 Beta 版。
- MPP 分析数据库——Jaspersoft 支持 IBM 的 Netezza MPP 分析数据库数据仓库,不久还会提供商业的分析支持。此外还支持 Vertica 与 EMC Greenplum。
InfoQ 有幸采访到了 JasperSoft 技术联盟的资深总监 Andrew Lampitt 以详细了解此次发布。
问:此次发布与其他 BI 厂商所提供的产品有何不同?
答:JasperSoft 一直都支持晦涩的数据格式的报表。
现在,业界都在使用非常乏味的方法制作 Hadoop 上的报表,使用 Hive 对 Hadoop 执行 SQL 查询。JasperSoft 增加了对 HDFS 中的文件报表的支持,或是直接支持 HBase,也支持各种 NoSQL 风格。
问:你们做过性能基准测试么?
答:他们都是第一代或第二代的连接器,更不必说产品质量了。JasperSoft 与多家厂商保持着合作关系,项目所有者会制作出第一份报表。JasperSoft 已经通过潜在或现有客户了解到了诸多反馈信息。
问:这些连接器的使用或评测级别如何?
答:我们既让现有的客户使用,也让新客户使用,从他们那里能获得反馈信息。从某种程度上说,此次发布是为了引起人们的注意。
我们与客户和厂商紧密合作,从中了解到这些公司最渴求的报表需求。
问:此次发布包含哪些新功能?
答:JasperSoft 连接器提供了
- 数据连通性——可以作为客户化数据源如 MongoDB 或 Riak 来连接
- 客户化查询执行器——可以使用各种风格的系统(包括非 SQL、层次系统)所使用的查询语言 / 语法
JasperSoft 支持将文件加载到内存并在其中操作文件。
图形数据库(比如 Neo4J)中的节点分析与键值存储形式是大不相同的。
问:支持非传统格式中的摘要或 star schema 报表么?
答:我不太确定。关系系统的报表与数据仓库的差别非常大。
对于 MongoDB 或 Riak 来说,你可以在 GUI 层次上操纵数据,比如说摘要,但它并非传统的分析情况。
我们将 NoSQL 看作是 OLTP 的新选择。
如果我是个使用 Hadoop 的开发者,想要查看一些数据,那么就可以通过文件系统报表达成所愿。
问:何时在 Hadoop/HDFS 中查询文件,会将整个文件加载到内存中么?
答:是内存的限制么?没必要将全部数据加载到客户端浏览器中,但在服务器端(JasperReports 服务器)却总是加载全部内容。
问:有什么办法可以使用过滤器或是最小化文件数据集的大小?
答:一切皆有可能,但这并非我们现在想要解决的问题。这类似于本地的 CSV 文件。通常,你需要将全部文件加载到内存中。对文件进行过滤并不是一个好办法。
问:JasperSoft 对 HBase 报表的支持如何?
答:HBase 只是针对给定字段存储一系列字节而已。没有什么内建的手段可以获悉这些字节所代表的对象类型。在 POC 版本的连接器中,我们将一张传统的表转换成了 HBase。我们将表的主键作为 ROW_ID,将其他的列名作为 HBase 中的 FAMILY,将字段值转换为字节,并将其作为 VALUE。我们还使用 QUALIFIER 存放数据类型信息。这样,连接器就知道每个字段的数据类型是什么了。其他人也可以像我们一样将数据加载到 HBase 中(感兴趣的读者可以查看 HBase loader 的源代码了解详情)。
接下来要实现一个可插拔的反序列化引擎,将其插入到连接器中。这样,连接器就知道从给定字段中所取出的字节可以使用Java 序列化机制进行序列化,也可以使用Google 的Protocol Buffers 或是其他序列化方法。我们就可以“获悉”每个字段的数据类型了。基于这一点,使用JasperSoft iReport(桌面版的报表设计器)的开发者就可以轻松构建报表了。
我们还可以直接或是通过Thrift 间接连接到HBase。Thrift 是可选的,常与HBase 搭配使用。
感兴趣的读者还可以到项目的下载页面了解连接器的详细信息。
评论