问候,
我一直在浏览这个网站上的问题,但没有找到任何相关的问题。
我目前已经构建了一个 Flex/PHP/MySQL 应用程序,我从我的 Hadoop 集群中提取数据并转储到 MySQL 表中。随着我的数据集不断增长,这有几个问题。
我正在寻找一个更强大的开源解决方案,因此已经开始研究 HBase 以及如何利用 PHP 或 Java 将我的数据提取到可视化应用程序中。
你们中有人在 Hadoop 或 HBase 之上构建了任何可视化平台吗?
谢谢!
问候,
我一直在浏览这个网站上的问题,但没有找到任何相关的问题。
我目前已经构建了一个 Flex/PHP/MySQL 应用程序,我从我的 Hadoop 集群中提取数据并转储到 MySQL 表中。随着我的数据集不断增长,这有几个问题。
我正在寻找一个更强大的开源解决方案,因此已经开始研究 HBase 以及如何利用 PHP 或 Java 将我的数据提取到可视化应用程序中。
你们中有人在 Hadoop 或 HBase 之上构建了任何可视化平台吗?
谢谢!
我不完全确定您是否指的是从 HBase 获取信息。我假设您想要构建一个聚合应用程序,它执行“sum”、“count”、“avg”等数据挖掘,例如对存储在 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 那样容易。
例如,一本书有许多作者,根据您的访问模式、作者编辑、应用层缓存实现,您可能希望选择将整个作者保存在书表中(即作者驻留在 2 个表中,作者表和书表) 或只是作者 ID。此外,作者的集合可以作为 XML/JSON 保存到一个单元格中,也可以保存为单个作者的单个单元格。
有了这种理解,我得出结论,编写一个成熟的 ORM,比如 Hibernate,不仅非常困难,实际上可能还没有定论。所以我采取了不同的方法,更像是 iBatis 之于 Hibernate。
让我试着解释一下它是如何工作的。为此,我将使用此处和此处的源代码。
就是这样。如何使用它们可以在这里找到。它基本上使用 CommonReadDao、CommonWriteDao 来读写 HBase 的数据。常见的 read dao 在查询中实现多线程行到对象的转换,多线程通过 ids 获取,通过 id 获取,并具有类似 Hibernate Criteria 的 API 以通过 Scan 查询到 HBase(没有可用的聚合函数)。Common write dao 实现了与一些附加功能相关的通用写相关代码,例如乐观/悲观锁定、单元格覆盖/合并检查实体(不)存在时保存、更新、删除等。
这个 ORM 是为我们的内部目的而开发的,我已经到了我的脖子上,因此还不能做一些文档。但是,如果您有兴趣,请告诉我,我会花时间优先记录文档。
查看 metatron 发现:https ://github.com/metatron-app/metatron-discovery 。他们使用 Druid 和 Hive 进行 OLAP 和数据存储。它是开源的,因此您可以检查他们的代码。这可能会有所帮助。