2011-09-06 131 views
12

我是一名Web開發人員。我有JavaScript,Jquery,Php,HTML等Web技術方面的經驗。我知道C的基本概念。最近我有興趣瞭解更多關於mapreducehadoop。所以我在我的大學課程中登記了我自己的並行數據處理mapreduce。由於在Java或C++等任何面向對象的語言中,我沒有任何先前的編程知識,所以我應該如何去學習map reduce和hadoop。我已經開始閱讀雅虎hadoop教程OReilly的Hadoop權威指南2nd.Edition如何開始學習hadoop

我想你們建議我可以學習mapreduce和hadoop的方法。

回答

5

如何設置的Hadoop好的教程你可以從許多不同的語言和一些設置的Hadoop爲你的資源訪問的Hadoop。例如,您可以嘗試Amazon的Elastic MapReduce(EMR),而不必經歷配置服務器,工作人員等等的麻煩。這是一個很好的方式來讓你的主管處理MapReduce處理,同時延遲一些學習如何使用HDFS很好,如何管理你的日程表等

不難尋找你喜歡的語言&爲它找到Hadoop的API或至少一些教程上用Hadoop連接它。例如,下面是一個在Hadoop上運行的PHP應用程序的演練:http://www.lunchpauze.com/2007/10/writing-hadoop-mapreduce-program-in-php.html

2

這聽起來像你在正確的軌道上。我建議在家用計算機上設置一些虛擬機,以開始在書籍中看到並在虛擬機中實施它們。與許多事情一樣,要變得更好的唯一方法就是實踐它。一旦你進入,我相信你將有足夠的知識來啓動一個小項目來實現Hadoop。以下是人們使用Hadoop構建的一些示例:Powered by Hadoop

3

1)學習Java。沒有辦法,對不起。

2)利潤!之後它會非常簡單--Hadoop非常簡單。

+0

由於java是一個龐大的編程語言與許多圖書館。有什麼具體的我可以閱讀,或者我應該知道核心Java實施hadoop。 –

+1

除了語言和核心API之外,您不需要知道任何內容,主要是'java.lang'和'java.util'包。所以沒有Servlets或EJB或Spring或任何其他此類框架。 –

+0

對不起#1是錯誤的,雖然學習一些Java(例如知道類路徑是什麼)是有用的和可能是必要的。許多語言都支持Hadoop - 這就是Hadoop Streaming和許多API的美妙之處。 – Iterator

12
4

答1:

  • 非常希望知道的Java。 Hadoop是用Java編寫的。其流行的序列文件格式依賴於Java。
  • 即使您使用Hive或Pig,您可能需要在某一天編寫自己的UDF。有些人仍然試圖用其他語言編寫它們,但我猜Java對它們有更強大和主要的支持。
  • 大多數Hadoop的工具還不夠成熟(如Sqoop,HCatalog等),所以你會看到許多Java錯誤堆棧跟蹤,可能你會想破解的源代碼有一天

回答2

  • 您不需要了解Java。
  • 正如其他人所說,這將是非常有用的,這取決於您的處理可能有多複雜。但是,對於Pig而言,你可以用一個令人難以置信的數量來說Hive。
  • 我會同意你很可能最終需要編寫一個用戶定義函數(UDF),但是,我用Python編寫了這些函數,並且使用Python編寫UDF非常容易。當然,如果你有非常嚴格的性能要求,那麼基於Java的MapReduce程序將是一條可行的路線。然而,Pig和Hive在性能方面都取得了巨大的進步。
  • 因此,您的問題的簡短答案是「否」,爲了執行Hadoop開發,您不需要了解Java。

來源: http://www.linkedin.com/groups/Is-it-must-Hadoop-Developer-988957.S.141072851

1

經過Yahoo Hadoop tutorial之前通過Hadoop the definitive guide去。雅虎教程爲您提供了一個非常簡潔易懂的架構。 我認爲書中的概念沒有正確排列。這使得研究它有點困難。 所以不要一起研究它。首先瀏覽Web教程。

0

隨意加入我的博客大數據 - https://oyermolenko.blog。我一直在使用Hadoop幾年,在這個博客希望分享我的經驗,從早期開始。我來自.NET環境,面臨着從一種語言切換到另一種語言時遇到的一些挑戰。我的博客面向那些不使用Hadoop但擁有像您這樣的主要技術背景的人。一步一步,我想涵蓋整個大數據服務系列,描述我遇到的與他們合作的概念和常見問題。希望你會喜歡它