数据可视化& HBase的

时间:2010-11-17 19:21:05

标签: visualization hbase

问候,

我一直在浏览本网站上的问题,但我没有找到任何相关问题。

我目前已经构建了一个Flex / PHP / MySQL应用程序,我从Hadoop集群中提取并转储到MySQL表。随着我的数据集不断增长,这有几个问题。

我正在寻找一个更强大的开源解决方案,因此开始研究HBase以及如何利用PHP或Java将我的数据提取到可视化应用程序。

你们有没有在Hadoop或HBase之上构建任何可视化平台?

谢谢!

2 个答案:

答案 0 :(得分:4)

我不完全确定您是否指的是从HBase获取信息。我假设您要构建一个聚合应用程序,它可以“求和”,“计数”,“平均”等数据挖掘,就像对HBase中存储的数据进行操作一样,生成图形/可视化。

在这种情况下,具体答案取决于您尝试分析的数据的性质。一个这样的应用程序将来自StumpleUpon的http://opentsdb.net

很容易在HBase上编写数据汇总程序,因为它可以通过MapReduce实现。 http://hbase.apache.org/docs/r0.89.20100726/apidocs/org/apache/hadoop/hbase/mapred/package-summary.html

在我们的组织中,我们使用Solr为财务报告执行查询和聚合功能,然后我们将它们存储在CMS中进行渲染。因此允许我们自定义相同数据集的渲染。如果您有兴趣将其存储在HBase + Solr上的CMS中,则以下内容将非常有趣 -

如果您希望访问您的数据就像访问持久存储并对ORM感兴趣那么您可以使用以下相关信息,请忽略它。以下内容复制自 - Java ORM for Hbase我的另一个答案。

我认为HBase的优势在于将动态列保持在静态列族中。根据我使用HBase开发应用程序的经验,我发现确定单元限定符和值并不像SQL那么容易。

例如,一本书的作者数量众多,具体取决于您的访问模式,作者编辑,应用层缓存实现,您可能希望选择将整个作者保存在book表中(即作者位于2表,作者表中)和书籍表)或只是作者ID。此外,作者集合可以作为XML / JSON保存到一个单元格中,也可以保存为单个作者的单个单元格。

有了这样的理解,我总结写出一个完整的ORM,比如Hibernate不仅非常困难,实际上也可能没有定论。所以我采用了一种不同的方法,更像是iBatis是Hibernate。

让我试着解释它是如何运作的。为此,我将使用herehere中的源代码。

  1. 首要任务是实现ObjectRowConverter接口,在本例中为SessionDataObjectConverter。抽象类封装了从HBase社区讨论和学习的基本最佳实践。扩展基本上使您可以100%控制如何将对象转换为HBase行,反之亦然。为此,API的唯一限制是您的域对象必须实现PersistentDTO接口,该接口在内部用于创建Put,Delete,do byte []到id对象,反之亦然。
  2. 下一个任务是连接HBaseImplModule中的依赖项。如果您有兴趣,请告诉我,我会进行依赖注射。
  3. 就是这样。如何使用它们here。它基本上使用CommonReadDao,CommonWriteDao来读取和写入HBase的数据。常见的read dao实现了对查询的多线程行对象转换,多线程get by id,get by id以及像Hibernate Criteria这样的API通过Scan查询HBase(没有可用的聚合函数)。公共写入dao实现了常见的写入相关代码和一些附加功能,例如乐观/悲观锁定,单元覆盖/合并检查实体(非) - 存储,更新,删除等等。

    这个ORM是为了我们的内部目的而开发的,我一直在我的脖子上,因此还不能做一些文档。但是,如果您有兴趣,请告诉我,我为优先文档腾出时间。

答案 1 :(得分:0)

查看Metatron发现:https://github.com/metatron-app/metatron-discovery。他们将Druid和Hive用于其OLAP和数据存储。这是一个开放源码,因此您可以检查他们的代码。可能会有帮助。