API Hadoop HDInsight .NET SDK для отправки задания

Я использую API-интерфейсы HDInsight .NET Hadoop для отправки задания Map Reduce в приложении asp.net.

с помощью Microsoft.Hadoop.Mapreduce;

var hadoop = Hadoop.Connect();

результат var = hadoop.MapReduceJob.ExecuteJob ();

//также пробовал это, но такое же исключение

//var result = hadoop.MapReduceJob.ExecuteJob(config);

Вызов ExecuteJob() завершается ошибкой и генерирует исключения во время выполнения. Кто-нибудь в этом мире смог успешно запустить этот вызов. Можно ли настроить функцию Map(), добавив больше входных параметров или объектов (кроме только что указанных в классе MapperBase от Microsoft)? Может ли логика внутри методов Mapper и Reducer получить доступ к кешу/базе данных?


person Rajesh    schedule 23.10.2013    source источник


Ответы (1)


Пример отправки задания MapReduce с помощью HDInsight .NET SDK опубликован здесь:

http://www.windowsazure.com/en-us/manage/services/hdinsight/submit-hadoop-jobs-programmatically/#mapreduce-sdk

// Define the MapReduce job
MapReduceJobCreateParameters mrJobDefinition = new MapReduceJobCreateParameters()
{
    JarFile = "wasb:///example/jars/hadoop-examples.jar",
    ClassName = "wordcount"
};

mrJobDefinition.Arguments.Add("wasb:///example/data/gutenberg/davinci.txt");
mrJobDefinition.Arguments.Add("wasb:///example/data/WordCountOutput");

// Get the certificate object from certificate store using the friendly name to identify it
X509Store store = new X509Store();
store.Open(OpenFlags.ReadOnly);
X509Certificate2 cert = store.Certificates.Cast<X509Certificate2>().First(item => item.FriendlyName == certfrientlyname);
JobSubmissionCertificateCredential creds = new JobSubmissionCertificateCredential(new Guid(subscriptionID), cert, clusterName);

// Create a hadoop client to connect to HDInsight
var jobClient = JobSubmissionClientFactory.Connect(creds);

// Run the MapReduce job
JobCreationResults mrJobResults = jobClient.CreateMapReduceJob(mrJobDefinition);

// Wait for the job to complete
WaitForJobCompletion(mrJobResults, jobClient);
person Jonathan Gao    schedule 24.10.2013
comment
Пожалуйста, укажите пространство имен .NET, которое вы используете для этих API: MapReduceJobCreateParameters, JobSubmissionClientFactory, WaitForJobCompletion. - person Rajesh; 24.10.2013
comment
Это задокументировано здесь: - person Jonathan Gao; 07.12.2013