2014-01-29 63 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作爲他們的文件系統。 –