近日,JasperSoft 宣布提供对大数据系统报表的支持,包括Hadoop、几种流行的NoSQL数据库以及3个MPP分析关系数据库上的各种模型报表。他们现在支持:
InfoQ有幸采访到了JasperSoft技术联盟的资深总监Andrew Lampitt以详细了解此次发布。
问:此次发布与其他BI厂商所提供的产品有何不同?
答:JasperSoft一直都支持晦涩的数据格式的报表。
现在,业界都在使用非常乏味的方法制作Hadoop上的报表,使用Hive对Hadoop执行SQL查询。JasperSoft增加了对HDFS中的文件报表的支持,或是直接支持HBase,也支持各种NoSQL风格。
问:你们做过性能基准测试么?
答:他们都是第一代或第二代的连接器,更不必说产品质量了。JasperSoft与多家厂商保持着合作关系,项目所有者会制作出第一份报表。JasperSoft已经通过潜在或现有客户了解到了诸多反馈信息。
问:这些连接器的使用或评测级别如何?
答:我们既让现有的客户使用,也让新客户使用,从他们那里能获得反馈信息。从某种程度上说,此次发布是为了引起人们的注意。
我们与客户和厂商紧密合作,从中了解到这些公司最渴求的报表需求。
问:此次发布包含哪些新功能?
答:JasperSoft连接器提供了
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