elastic 修改map_Amazon Elastic Map Reduce使用Apache Mahout计算建议
elastic 修改map
Apache Mahout是一個(gè)“可擴(kuò)展的機(jī)器學(xué)習(xí)庫(kù)”,其中包括各種單節(jié)點(diǎn)和分布式推薦算法的實(shí)現(xiàn)。 在上一篇博客文章中, 我描述了如何在單個(gè)節(jié)點(diǎn)上實(shí)現(xiàn)在線推薦系統(tǒng)來(lái)處理數(shù)據(jù)。 如果數(shù)據(jù)太大而無(wú)法放入內(nèi)存(> 100M首選項(xiàng)數(shù)據(jù)點(diǎn))怎么辦? 然后我們別無(wú)選擇,只能看一下Mahout的分布式推薦器實(shí)現(xiàn)!
分布式推薦器基于Apache Hadoop。 這是一項(xiàng)需要輸入用戶偏好列表,計(jì)算項(xiàng)目共現(xiàn)矩陣并為每個(gè)用戶輸出前K個(gè)建議的工作。 有關(guān)此博客如何工作以及如何在本地運(yùn)行的介紹性博客,請(qǐng)參見此博客文章 。
我們當(dāng)然可以在自定義的Hadoop群集上運(yùn)行此作業(yè),但是僅使用預(yù)先配置的作業(yè)(如EMR)會(huì)更快(且痛苦更少)。 但是,有一個(gè)小問(wèn)題。 EMR上提供的最新Hadoop版本是1.0.3,其中包含Apache Lucene 2.9.4的jar。 但是,推薦程序作業(yè)取決于Lucene 4.3.0,這將導(dǎo)致以下漂亮的堆棧跟蹤:
2013-10-04 11:05:03,921 FATAL org.apache.hadoop.mapred.Child (main): Error running child : java.lang.NoSuchMethodError: org.apache.lucene.util.PriorityQueue.<init>(I)Vat org.apache.mahout.math.hadoop.similarity.cooccurrence.TopElementsQueue.<init>(TopElementsQueue.java:33)at org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob$UnsymmetrifyMapper. map(RowSimilarityJob.java:405)at org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob$UnsymmetrifyMapper. map(RowSimilarityJob.java:389)at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:771)at org.apache.hadoop.mapred.MapTask.run(MapTask.java:375)at org.apache.hadoop.mapred.Child$4.run(Child.java:255)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:415)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)at org.apache.hadoop.mapred.Child.main(Child.java:249)如何解決呢? 好吧,我們“只是”需要在EMR Hadoop安裝中更新Lucene。 我們可以為此使用引導(dǎo)操作 。 具體步驟如下:
該腳本將在Hadoop節(jié)點(diǎn)上運(yùn)行,并將更新Lucene版本。 確保更改腳本并輸入正確的存儲(chǔ)桶名稱和存儲(chǔ)桶路徑,以使其指向公共Lucene存檔。
這也是指定S3上輸入數(shù)據(jù)的位置和輸出寫入位置的地方。
- 內(nèi)存密集型配置(否則您會(huì)很快看到一個(gè)OOM)
- 我們的自定義update-lucene操作(路徑應(yīng)指向S3,例如s3://bucket_name/bucket_path/update-lucene.sh )
就是這樣! 現(xiàn)在,您可以創(chuàng)建并運(yùn)行作業(yè)流程,在幾分鐘/幾小時(shí)/幾天之后,您將在S3上等待結(jié)果。
翻譯自: https://www.javacodegeeks.com/2013/10/amazon-elastic-map-reduce-to-compute-recommendations-with-apache-mahout.html
elastic 修改map
總結(jié)
以上是生活随笔為你收集整理的elastic 修改map_Amazon Elastic Map Reduce使用Apache Mahout计算建议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux rm 文件夹(linux r
- 下一篇: 车辆拉花备案(车上拉花备案)