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