2013-03-30 35 views
0

我現在正在學習Mahout中的動作並撰寫以詢問如何在本書中構建和執行示例。我可以在eclipse上找到說明,但我的環境不包含UI。所以我將第一個示例(RecommenderIntro)複製到RecommenderIntro.java並通過javac進行編譯。如何在Mahout中構建並執行示例中的示例

我得到一個錯誤,因爲包沒有被導入。所以我在尋找:

  1. 方法來導入缺少的包。

  2. 我想,即使它編譯成功,.class文件將會生成, 我該如何執行它?通過「java RecommnderIntro」?我可以通過sudo -u hdfs hadoop jar mahout-examples-0.7-cdh4.2.0-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job執行 mahout示例,我怎樣才能爲我自己的例子做類似的事情?

  3. 我所有的數據保存在HBase的表,但在這本書(甚至 谷歌),我不能找到一種方法,它與HBase的整合,任何 建議?

+0

我已經解決了a)和b),仍然在等待c) – balto

回答

2

q1和q2,您需要像maven這樣的java構建工具。 你用以下命令創建hadoop-jar:'mvn clean install'這會在目標/ mia-job.jar中創建hadoop作業 然後執行以下任務: hadoop jar target/mia-job.jar RecommenderIntro inputDirIgnored outputDirIgnored RecommenderIntro忽略參數,但hadoop強制您至少指定2個參數,通常是輸入和輸出目錄)

q3:您無法開箱即用。 選項1:將您的hbase數據導出爲文本文件'intro.csv',其內容如本書中所述的「%userId%,%ItemId%,%score%」。因爲這是RecommenderIntro正在尋找的文件。 選項2:修改示例代碼以從hbase讀取數據...

ps1。爲了開發這樣的應用程序,我真的建議使用IDE。因爲它允許您使用代碼完成,執行,構建等。一個簡單的入門方法是使用像Cloudera或HortonWorks這樣的hadoop下載虛擬映像,然後安裝像eclipse這樣的IDE。你也可以配置這些圖像來使用你的hadoop集羣,但你不需要爲小數據集。 ps2。 RecommenderIntro代碼不是分佈式實現,因此無法在大型數據集上運行。它也在本地而不是在hadoop集羣上運行。