Hive vs HBase vs Pig用于AWS Elastic MapReduce的时间序列数据

时间:2013-06-14 23:10:23

标签: amazon-web-services mapreduce hbase hive apache-pig

我正在尝试使用AWS Elastic MapReduce对相对平坦的时间序列数据执行统计分析。 AWS为您提供了使用Hive,Pig或HBase进行EMR作业的选项 - 哪一种最适合此类分析?我不认为数据分析会在terrabyte规模上 - 我表中的项目大多在1K以下。我也从未使用过三者中的任何一个,但学习曲线应该不是问题。我更关心什么会更有效率;我也很快就把这个项目交给了,所以对于那些没有经验的人来说相对理解的东西会很好 - 但我主要是想为我拥有的数据做出明智的选择。我可能会做的一个示例查询是“查找上周和今天之间的所有帐户,每天的事件值超过20”。

2 个答案:

答案 0 :(得分:1)

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

如果只是为了学习目的,那么使用HDFS + Hive或Pig(取决于最适合你的方式)。


回应你的评论:

如果我有这样的情况,我会用HFS来存储我的平面数据。我之所以选择Hive,是因为我没有看到很多转型正在进行中。所以,是的,我会和Hive一起去。而且,我现在还没有看到任何HBase需求。当您需要随机实时访问数据的某些部分时,通常会使用HBase。如果您的用例确实需要HBase,那么在设计架构时需要小心,因为您正在处理时间序列数据。

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

P.S。 :你可能想看看R project

答案 1 :(得分:1)

简短摘要回答:

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

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

当您在hadoop(example)上明确寻找NoSQL商店时,HBase更有价值。