支持大数据的 JasperSoft 4 发布了

  • Ron Bodkin
  • 张龙

2011 年 2 月 18 日

话题:Java架构DevOps大数据语言 & 开发文化 & 方法AI

近日,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 搭配使用。

感兴趣的读者还可以到项目的下载页面了解连接器的详细信息。

查看英文原文:JasperSoft 4 Released with Big Data Support

Java架构DevOps大数据语言 & 开发文化 & 方法AI