2014-01-25 14 views
0

我是Hadoop的新手,我瀏覽了一些博客,並通過幾本關於某個主題的書籍進行了瀏覽。爲了引導我的進一步研究,我需要回答兩個問題:我可以使用Hadoop進行羣集分析,並且可以將Hadoop掛接到MongoDB:

  1. 多少我真的可以做的map-reduce?從例子中,我看到我可以做min(),max(),sum(),count()。你可能很容易做average()甚至standard_deviation(),但是它呢?如果我想運行一個查詢,以便「購買X的客戶也購買了Y」(在SQL術語中將自己的連接表本身排序)。如果我想做圖分析或聚類分析,那麼Haddop的地圖 - 減少任何幫助,或者我自己還是非常靠譜?
  2. 如果我有現有的數據庫,比方說它很大(1PB)並且是分佈式的,我們假設它是MongoDB的集羣,分片和所有這些。我可以將Haddop掛鉤到我現有的MondoDB分片,還是需要複製我的數據(並分別在其更改時保持同步)。後者,如果這是我真正需要做的,聽起來像是一個昂貴的過程,Hadoop中有沒有什麼可以幫助我做到這一點。 詳細闡述的答案或鏈接,將非常感謝。

回答

0
  1. 的MapReduce是計算相當普遍的結構,雖然它不適合所有情況,它是被用於各種各樣的問題靈活。對於已描述的內容的例子,可以參考亨利馬烏:http://mahout.apache.org/users/clustering/clusteringyourdata.html

  2. 使用mongodb的連接器可以直接訪問一個蒙戈數據庫作爲映射縮減inputformat而無需將數據同步到HDFS:http://docs.mongodb.org/ecosystem/tools/hadoop

或者mongo本身允許你在mapreduce中編寫查詢,直接由數據庫執行。在與hadoop/hdfs接口之前,我建議儘可能以這種方式彙總數據,以減少在兩個系統之間傳輸的潛在數據量。

相關問題