Как отправлять рекомендации mahout Вакансии с помощью HDInsight .NET SDK

Я новичок в HDInsight. Я хочу изучать и практиковать машинное обучение, HDInsight — это как раз то, что мне нужно, но, похоже, прямого API для mahout нет. Поскольку рекомендация mahout по существу преобразуется в задание mapredure, поэтому я последовал некоторому примеру mapreduce в документации Windows Azure и написал следующий код:

// Define the MapReduce job
MapReduceJobCreateParameters mrJobDefinition = new MapReduceJobCreateParameters()
{
    JarFile = "wasb:///example/jars/mahout-core-0.9-job.jar",
    ClassName = "org.apache.mahout.cf.taste.hadoop.item.RecommenderJob",
};

mrJobDefinition.Arguments.Add(" -s SIMILARITY_COOCCURRENCE");
mrJobDefinition.Arguments.Add(" --input=/reply");
mrJobDefinition.Arguments.Add(" --output=/recommend/");
mrJobDefinition.Arguments.Add(" --usersFile=/data/users.txt");

Я уже загрузил файл mahout-core-0.9-job.jar в /example/jars в указанном контейнере хранилища BLOB-объектов Azure.

Но я получил следующее сообщение об ошибке:

После того, как я погуглил в Интернете, кажется, что нужно внести некоторые изменения в mapred-site.xml или другие файлы конфигурации Hadoop. Но я совершенно новичок в Apache Hadoop и не очень хорошо разбираюсь в Linux и Java.

Любая помощь или направление будут высоко оценены.

С последним .NET SDK для Hadoop (http://hadoopsdk.codeplex.com/) я могу отправить задание mahout с тем же кодом успешно. Кажется, эта проблема была решена с помощью SDK.


person Johnny Qian    schedule 04.03.2014    source источник


Ответы (1)


04.14.03 12:04:28 ОШИБКА security.UserGroupInformation: PriviledgedActionException как: johnny причина: java.io.IOException: чтение исключения file:/c:/apps/temp/hdfs/mapred/local/taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= java.security.PrivilegedActionException: java.io.IOException: Исключение при чтении файла:/ c:/apps/temp/hdfs/mapred/local/taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= в java.security.AccessController.doPrivileged(собственный метод) в javax.security.auth.Subject.doAs(Subject.java: 415) по адресу org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1233) по адресу org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:951) по адресу org.apache.hadoop.mapreduce.Job .submit(Job.java:550) в org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580) в org.apache.mahout.cf.taste.hadoop.preparation.PreparePreferenceMatrixJo b.run(PreparePreferenceMatrixJob.java:77) в org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) в org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob. java:164) на org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) на org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(RecommenderJob.java:322) на солнце .reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:601) в org.apache.hadoop.util.RunJar.main(RunJar.java:160) Вызвано: java.io.IOException: Исключение при чтении файла:/c:/apps/temp/hdfs/mapred /local/taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= в org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:136) в org.apache.hadoop.ma pred.JobClient.readTokensFromFiles(JobClient.java:2149) в org.apache.hadoop.mapred.JobClient.populateTokenCache(JobClient.java:2185) в org.apache.hadoop.mapred.JobClient.access$300(JobClient.java:179) ) в org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:964) в org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:951) ... еще 16 Вызвано: < strong>java.io.FileNotFoundException: файл file:/c:/apps/temp/hdfs/mapred/local/taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= не существует. в org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:427) в org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:254) в org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker .(ChecksumFileSystem.java:125) в org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283) в org.apache.hadoop.fs.FileSystem.open(FileSystem.java:436) в org.apache .hadoop.security.Credentials.readTokenStorageFile(Credentials.java:130) ... еще 21 Исключение в потоке "main" java.io.IOException: Exception read file:/c:/apps/temp/hdfs/mapred/local/ taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= в org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:136) в org.apache.hadoop.mapred.JobClient.readTokensFromFiles(JobClient.java:2149) в org. .apache.hadoop.mapred.JobClient.populateTokenCache(JobClient.java:2185) в org.apache.hadoop.mapred.JobCli ent.access$300(JobClient.java:179) в org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:964) в org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:951 ) в java.security.AccessController.doPrivileged(собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1233) в org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:951) в org.apache.hadoop.mapreduce.Job.submit(Job.java:550) в org.apache.hadoop.mapreduce.Job.waitForCompletion( Job.java:580) в org.apache.mahout.cf.taste.hadoop.preparation.PreparePreferenceMatrixJob.run(PreparePreferenceMatrixJob.java:77) в org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) на org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob.java:164) на org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) на org.apache.mahout .cf.вкус.га doop.item.RecommenderJob.main(RecommenderJob.java:322) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:601) в org.apache.hadoop.util.RunJar.main(RunJar.java:160) Причина: java. io.FileNotFoundException: файл file:/c:/apps/temp/hdfs/mapred/local/taskTracker/johnny/jobcache/job_201404031203_0001/jobToken= не существует. в org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:427) в org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:254) в org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker .(ChecksumFileSystem.java:125) в org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283) в org.apache.hadoop.fs.FileSystem.open(FileSystem.java:436) в org.apache .hadoop.security.Credentials.readTokenStorageFile(Credentials.java:130) ... еще 21 Принудительное завершение работы наблюдателя/поддержания активности пула потоков Templeton: задание не выполнено с кодом выхода 1

person Johnny Qian    schedule 28.05.2014