2010-02-17 37 views
0

什麼是最簡單的使用分佈式地圖減少編程系統?什麼是最簡單的使用分佈式地圖縮減編程系統?

例如。在分佈式數據存儲包含許多用戶,每個用戶有很多連接,說我想算的連接總數:

Map: 
for all records of type "user" 
do for each user 
    count number of connections 
    retrun connection_count_for_one_user 

Reduce: 
reduce (connection_count_for_one_user) 
    total_connections += connection_count_for_one_user 

是否有任何的MapReduce系統,讓我計劃用這種方式?

+0

就像現在一樣,你的問題沒有意義。 – leeeroy 2010-02-17 17:18:30

+0

謝謝Leeroy。我試圖讓它現在更清楚。好點嗎?或者我能做些什麼來改善它? – Zubair 2010-02-17 17:28:50

回答

2

那麼我會採取一些建議,但你的問題不太清楚。

那麼你如何存儲你的數據?存儲機制與將MapReduce算法應用於數據的方式分開。我假設你正在使用Hadoop Distributed File System

您說明的問題實際上看起來與典型的Hadoop MapReduce word count example非常相似。相反,你只是計數用戶。

你們中有些人有選項的MapReduce應用對存儲在HDFS的數據是:

  • Java framework - 如果好,你是舒適與Java。
  • Pig - 高級腳本語言。
  • Hive - Hadoop的數據倉庫解決方案,提供SQL接口。
  • Hadoop streaming - 允許您使用幾乎任何語言編寫mappers和reducer。

哪個最簡單?

那麼這一切都取決於你感覺舒適。如果知道Java看看標準的Java框架。如果您習慣使用腳本語言,則可以使用Pig或流媒體。如果你知道SQL,你可以看看使用Hive QL來查詢HDFS。我會以每個文檔爲起點。

+0

好的,謝謝,我會看看這些 – Zubair 2010-02-19 08:23:55

+0

蜂巢和豬​​看起來很有希望! – Zubair 2010-02-19 08:26:07

相關問題