使用Hadoop和BIRT对海量数据进行可视化处理

英文原文: Eclipse,编译:ImportNew - 陈晨

海量数据在Wikipedia上的解释就是一个巨大和复杂的数据集合,难以使用手头上面的数据库管理工具或者传统的数据处理程序来处理。海量数据的包含的数据量超过了一般软件工具的处理能力。

好在BIRT不是传统的数据处理程序!

Eclipse BIRT考虑到了数据源的扩展性。BIRT使用的是Eclipse数据工具(DTP),更明确些是开放数据接入框架(ODA)。该框架允许新数据源,比如最近的海量数据数据源,很容易按照需要加入BIRT。本文将逐步介绍建立Hadoop连接,使用BIRT可视化数据。

使用HQL来查询Hadoop数据

BIRT提供了便利的驱动,允许使用HQL通过Hive来访问Hadoop数据。Hive是基于Hadoop的数据仓库的架构,用于提供数据摘要、查询和分析。只要编写HQL就能够从Hadoop中查询数据。HQL类似SQL支持多种相同关键词,如SELECT, WHERE, GROUP BY, ORDER BY, JOIN, 和 UNION

Hive查询的执行是通过一系列自动生成的MapReduce job完成的。也可以通过使用Hive中的TRANSFORM来自定义编写脚本转换为Hadoop中的MapReduce方法。这些脚本基本可以使用任何程序语言编写。例如,下面的HQL使用Python编写为mytest.py文件。

SELECT

TRANSFORM (userid, movieid, rating, unixtime)

USING 'python mytest.py'

AS (userid, movieid, rating, weekday)

FROM u_data

BIRT中建立HQL查询

从新数据源向导选择Hive数据源,进入连接属性,用于建立新查询,如下图所示。

 

接下来,选择驱动并且添加Hive客户端JAR文件。你只需添加一次即可。


现在能够使用HQL查询建立一个数据集。如果查询使用TRANSFORM来引用脚本文件,使用添加文件属性将文件添加至Hadoop分布式缓存中。加入多个文件命令使用分号分隔。该属性能够在数据源或数据集中,使用绑定属性或脚本进行覆盖。在数据集编辑器中的查询文本框区域输入HQL查询语句,如下图。

复杂的HQL子查询示例

复杂的HQL子查询示例 

获取JSON对象的示例

获取JSON对象的示例

正则表达式示例

正则表达式示例

HQL查询提示示例

 将重要数据突出的显示

你能够按照上述步骤建立多个数据集,甚至在BIRT中关联数据。一旦定义好海量数据连接和查询,就能够通过定义BIRT中的报告来使用数据了。此时能够简单拖拉数据集在报告界面上并且开始规格化。

但是为了能够存储更多数据带来了一系列的问题。更多的数据通常意味这更多的数据需要被分析及展示。重要的数据特别需要突出展示。BIRT通过一些开箱即可用的特性来支持这样的要求。

高亮

使用BIRT中的高亮特性,你能够基于表达式建立规格化规则。你能够构建从简单到复杂的表达式来高亮数据。高亮能够添加至网格,表格,列,行,数据元素,标签,图表和图像。

可见性

可见性特性允许你使用表达式来定义BIRT的那些部分是可见的。在确定分组用户只能查看自己数据的场景是很有效的,而且可以用于隐藏发现数据的所有区域。可见性同样可以应用到网格,表格,列,行,数据元素,标签,图表和图像,而且还仍然可以建立单独的可见规则基于最终输出,如PDFHTML等。

自己测试

Hive/Hadoop 数据源从BIRT3.7开始有效。可以作为Eclipse BIRT Designer的部分来下载。你可以从eclipse.org/birt或者BIRT Exchangewww.birt-exchange.org)下载。

英文原文: Eclipse,编译:ImportNew - 陈晨

译文链接:http://www.importnew.com/4276.html

【如需转载,请在正文中标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

关于作者: 陈 晨

致力于互联网大型分布式领域,实践各种软件过程与自动化。爱生活,爱JAVA。新浪微博: 一酌散千忧

查看陈 晨的更多文章 >>



相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

跳到底部
返回顶部