2017-07-28 30 views
2

我不知道为什么做这项工作:EMR星火工作,而不是在一个Java函数

public final class JavaSparkPi { 

public static void main(String[] args) throws Exception { 

    SparkConf sparkConf = new SparkConf().setMaster("yarn-cluster").setAppName("mySparkApp"); 
    JavaSparkContext jsc = new JavaSparkContext(sparkConf); 
     ArrayList<Integer> list = new ArrayList<>(); 
     for(int i = 0; i < 10 ; i++){ 
      list.add(i); 
     } 

     JavaRDD<Integer> dataSet = jsc.parallelize(list) 
       .map(s->2*s) 
       .map(s->5*s); 

     int weirdStuff= dataSet.reduce((a, b) -> (a + b)/2); 
     System.out.println("stuff is " + weirdStuff); 
     jsc.stop();  

} 
} 

,为什么这并不:

public final class JavaSparkPi { 

    private void startWorkingOnMicroSpark() { 
    SparkConf sparkConf = new SparkConf().setMaster("yarn-cluster").setAppName("mySparkApp"); 
    JavaSparkContext jsc = new JavaSparkContext(sparkConf); 
     ArrayList<Integer> list = new ArrayList<>(); 
     for(int i = 0; i < 10 ; i++){ 
      list.add(i); 
     } 

     JavaRDD<Integer> dataSet = jsc.parallelize(list) 
       .map(s->2*s) 
       .map(s->5*s); 

     int weirdStuff = dataSet.reduce((a, b) -> (a + b)/2); 
     System.out.println("weirdStuff is " + weirdStuff); 
     jsc.stop();  
    } 
public static void main(String[] args) throws Exception { 

    JavaSparkPi jsp = new JavaSparkPi(); 
    jsp.startWorkingOnMicroSpark(); 

} 

} 

我正在星火与EMR。我发现这两个项目之间唯一的区别在于,一个人的主要部分是火花部分,而另一个则没有。 我把它们两个都作为EMR中的spark应用程序推出,其中 - class JavaSparkPi 参数。

这里是失败statut:

Statut :FAILED 

Raison : 

Fichier journal :s3://mynewbucket/Logs/j-3AKSZXK7FKMX6/steps/s-2MT0SB910U3TE/stderr.gz 

Détails:Exception in thread "main" org.apache.spark.SparkException: Application application_1501228129826_0003 finished with failed status 

Emplacement JAR : command-runner.jar 

Classe principale : Aucun 

Arguments : spark-submit --deploy-mode cluster --class JavaSparkPi s3://mynewbucket/Code/SparkAWS.jar 

Action sur échec : Continuer 

,并有成功的一个:

Emplacement JAR : command-runner.jar 
Classe principale : Aucun 
Arguments : spark-submit --deploy-mode cluster --class JavaSparkPi 
s3://mynewbucket/Code/SparkAWS.jar 
Action sur échec : Continuer 

回答

1

把那些星火初始化方法为主。 (“yarn-cluster”)。setAppName(“mySparkApp”);其中,sparkConf为新的sparkConf()。setMaster(“yarn-cluster”)。 JavaSparkContext jsc = new JavaSparkContext(sparkConf);

相关问题