2013-10-28 26 views
7

我剛開始學習Hadoop和通過一些網站已經過去了,我常常發現,爲什麼Hadoop是不是一個實時平臺

「Hadoop是不是一個實時平臺」即使在SO也

我混淆了這一點,我真的不能理解它。任何人都可以幫我解釋一下嗎?

謝謝全部

回答

20

Hadoop最初設計用於批處理。這意味着,一次輸入一個大數據集,處理它,然後寫出一個大輸出。 MapReduce的概念是針對批處理而非實時的。但說實話,這只是Hadoop開始時的情況,現在您有更多的機會以更實時的方式使用Hadoop。

首先,我認爲定義您的實時意義非常重要。這可能是因爲您對流處理感興趣,或者您可能希望對數據運行查詢以實時返回結果。

有關Hadoop的流處理,本地的Hadoop不會爲你提供這樣的功能,但你可以使用Hadoop輕鬆一些其他項目整合:

  • Storm-YARN允許您在Hadoop集羣上使用風暴通過YARN。
  • Spark與HDFS集成,允許您實時處理流數據。

對於實時查詢也有其使用Hadoop的幾個項目:

  • Impala從Cloudera的使用HDFS但完全繞過MapReduce的,因爲有太多的開銷,否則。
  • Apache Drill是另一個與Hadoop集成以提供實時查詢功能的項目。
  • Stinger項目旨在使Hive更加實時。

可能還有其他項目可以納入「實時製作Hadoop」列表,但這些項目最爲人熟知。如你所見,Hadoop越來越朝着實時的方向發展,即使它不是爲此設計的,你也有很多機會將它擴展到實時目的。

+0

+1它有一定的意義 – Backtrack

相關問題