.NET의 azure hdinsight API를 통해 spark 클러스터에 작업을 제출하려고했습니다. Intellij Azure Plugin을 통해 제출 한 스칼라 코드가 HDInsight에 제출하십시오.하지만 .net API를 통해 작업을 제출할 때 작동하지 않습니다. (아마도 작업 제출 유형이 올바르지 않습니까?) jobId 및 jobComplete 상태를 얻지 만 출력을 올바르게 작성하지 않습니다..NET Azure HDInsight API를 통해 Spark Scala (.jar) 작업 제출
스칼라 :
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object HDInsightScala{
def main (arg: Array[String]): Unit = {
val conf = new SparkConf().setAppName("HDInsightScala")
val sc = new SparkContext(conf)
val rdd = sc.textFile("wasbs:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
//find the rows which have only one digit in the 7th column in the CSV
val rdd1 = rdd.filter(s => s.split(",")(6).length() == 1)
rdd1.saveAsTextFile("wasbs:///myOutputs")
}
}
C 번호 :
public void runCurrentJob()
{
List<string> args = new List<string> {}; // No parameters
// JarFile leads to "wasbs:///tmp/default_artifact.jar"
// JarClass is the name of my main class -> "HDInsightScala"
var parameters = new MapReduceJobSubmissionParameters
{
JarFile = "wasbs:///"+ConfigurationManager.AppSettings["jarPath"],
JarClass = ConfigurationManager.AppSettings["mainClassName"],
//Arguments = args
};
var jobResponse = hdiJobManager.JobManagement.SubmitMapReduceJob(parameters);
var jobID = jobResponse.JobSubmissionJsonResponse.Id;
MessageBox.Show("My job ID is " + jobID + "\n wait for completion . . .");
var jobDetail = hdiJobManager.JobManagement.GetJob(jobID).JobDetail;
while (!jobDetail.Status.JobComplete)
{
Thread.Sleep(1000);
jobDetail = hdiJobManager.JobManagement.GetJob(jobID).JobDetail;
}
MessageBox.Show("JOB IS COMPLETE.");
}
RESTsharp를 사용하여 livy/batch에 게시 할 수있었습니다! 감사합니다. – jpsca1293