2012-03-26 75 views
0

我很想知道使用PHP或Ruby可以完成什麼級別的hadoop編程。我發現了一些關於hadoop streaming api的文章,這些文章可能會被PHP,Ruby破解。Hadoop支持php,ruby

我的問題

  1. 你可以寫PHP,Ruby中的map-reduce作業可與其他Hadoop的Java的地圖,減少從事的工作?

  2. API級別編程在hadoop中,非Java語言缺少什麼?也就是說現在只能用java來完成,而不是其他語言呢?

感謝

回答

1
  1. 如果你指的是鏈接的Java M/R作業 - 與工作流(例如原生API) - 我在一個類似的線程看到this seemingly relevant answer
  2. 您在Streaming腳本中所做的基本上僅限於您選擇的語言的功能。 Ruby和PHP都非常強大,所以我不確定你在這些中缺少什麼。

就我個人而言,我也來自Ruby/Python背景,最初嘗試使用流來完成任務。最終,我決定給Java API一個機會,結果證明它不算太壞:)

+0

謝謝大衛&薩爾的答案 – realnumber 2012-03-26 16:37:19

2

簡而言之 - hadoop除了映射器和縮減器之外還有一些其他插件:combiners,輸入/輸出格式比較器。這些plagins只能用java編寫。
因此,這意味着通過流式傳輸使用hadoop可以套用一些簡單的案例,但會嚴重降低您的靈活性。
因爲使用不同的機制將記錄傳遞給映射器和簡化器,所以流式處理也稍慢。