Hive vs HBase vs Pig使用AWS Elastic MapReduce处理时间序列数据



我正在尝试使用AWS Elastic MapReduce对相对平坦的时间序列数据进行统计分析。AWS为您提供了使用Hive、Pig或HBase进行EMR作业的选项——哪一个最适合这种类型的分析?我不认为数据分析会达到太字节的规模——我的表格中的项目大多在1K以下。我也从未使用过这三种工具中的任何一种,但学习曲线应该不是问题。我更关心的是怎样更有效率;我也很快就会把这个项目移交出去,所以对于有noSQL经验的人来说,一些相对容易理解的东西会很好——但我主要是希望为我拥有的数据做出明智的选择。我可能会做的一个示例查询类似于"查找从上周到今天每天的事件值超过20的所有帐户"。

恕我直言,这些都不是。当你的数据是big时,你使用MR, Hive, Pig等,非常大,你谈论的数据集甚至不到~TB。你也希望你的系统是高效的。在这种情况下,使用这些工具将是多余的。因此,您所拥有的数据的sensible选择将是您选择的RDBMS。

如果只是为了学习,那么使用HDFS+Hive或Pig(取决于哪个更适合你)。


回复你的评论:

如果我有这样的情况,我会使用HDFS,用Hive来存储我的平面数据。我选择Hive的原因是我在这里看不到太多的转变。所以,是的,我会选蜂巢。而且,到目前为止,我还没有看到任何HBase的需求。当您需要随机实时访问部分数据时,通常使用HBase。如果你的用例确实需要HBase,你在设计模式时需要小心,因为你处理的是时间序列数据。

但是,决定使用Hive还是Pig需要对将要对数据执行的操作进行更深入的分析。你可能会发现这些链接很有用:http://developer.yahoo.com/blogs/hadoop/pig-hive-yahoo-464.htmlhttp://www.larsgeorge.com/2009/10/hive-vs-pig.html

注::你可能想看看R项目

简短总结回答:

Hive是你数据分析的"第一选择",因为它将使用熟悉的SQL语法。正因为如此,有许多方便的连接器前端分析工具:Excel, Tableau, Pentaho, Datameer, SAS等。

Pig更多地用于传入Hadoop的数据的ETL(转换)。您的数据分析可能需要在数据存储到Hive之前对其进行一些"转换"。例如,您可以选择删除标题,应用来自其他来源的信息等。免费的Hortonworks沙盒教程提供了一个很好的例子。

当你明确地在hadoop(示例)之上寻找NoSQL存储时,HBase更有价值。

最新更新