Я новичок в 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.