2014-01-29 62 views
8

首先,我对大数据和Hadoop世界比较陌生,并且我刚刚开始尝试使用Hortonworks Sandbox(到目前为止,Pig和Hive)。 我想知道在哪些情况下可以使用上述Hadoop,Hive,Pig,HBase和Cassandra工具?
Hadoop,Hive,Pig,HBase,Cassandra - 什么时候用?

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

我有关正确用法的猜测是:

  • 的Hadoop:就剩下了技术基础,它会直接使用只有极少数的使用情况
  • 蜂巢或猪:在分析过程即每小时或每天一次运行
  • HBase的或卡桑德拉:用于需要

附加100毫秒或更少的响应时间的实时应用(例如web应用)何时使用HBase而不是何时使用Cassandra?

谢谢!

回答

7

你的猜测有些准确。

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

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

蜂巢,猪:他们是很好的间歇过程,周期性运行(也许在数小时或数天计)

HBase的&卡桑德拉:支持低延迟的电话。所以它们可以用于响应时间很关键的实时应用程序。看一看this discussion可以更好地了解HBase vs Cassandra。

+0

我认为Hadoop的意思是HDFS,因为Hive,Pig和HBase主要使用HDFS作为他们的文件系统。 –