Hadoop,Hive,Pig,HBase,Cassandra - 何时使用什么?

时间:2014-01-29 18:02:35

标签: hadoop cassandra hive apache-pig

首先,我对大数据和Hadoop世界相对较新,我刚开始尝试使用Hortonworks Sandbox(目前为止的Pig和Hive)。 我想知道在哪些情况下我可以使用上面提到的Hadoop,Hive,Pig,HBase和Cassandra的工具?

在我的沙盒环境中,文件只有9MB Hive和Pig的响应时间为几秒到几分钟。这显然在某些情况下不可用,例如Web应用程序(除非它是其他东西,例如我的虚拟机设置)。

我对正确用法的猜测是:

  • Hadoop:只是其余的技术基础,只有很少的用例直接使用
  • Hive或Pig:用于每小时或每天运行一次的分析过程
  • HBase或Cassandra:适用于需要100毫秒或更短响应时间的实时应用程序(例如Web应用程序)

另外,何时使用HBase而不是何时使用Cassandra?

谢谢!

1 个答案:

答案 0 :(得分:9)

你的猜测有点准确。

通过Hadoop,我猜你指的是MapReduce? Hadoop本身就是一个由许多组件组成的生态系统(包括MapReduce,HDFS,Pig和Hive)。

当您需要在Map()和Reduce()方法级别编写处理数据的逻辑时,MapReduce很好。在我的工作中,当我处理非结构化数据时,我发现MapReduce非常有用。需要清理。

Hive,Pig:它们适用于批处理过程,定期运行(可能是数小时或数天)

HBase& Cassandra:支持低延迟通话。因此,它们可用于实时应用程序,其中响应时间是关键。请查看this discussion以更好地了解HBase与Cassandra。