2017-07-28 3 views
2

に私は不思議ではない:EMRスパークは、Javaメインで働いてますが、この作品行い、なぜ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と。これらの2つのプロジェクトの間に私が見いだした唯一の違いは、スパークの部分がメインと他の部分で書かれているという事実です。 私は --class JavaSparkPi 引数を持つEMRでspark appとして両方を起動しました。ここで

は、失敗した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

メインに、それらのスパークの初期化方法を置きます。

SparkConf sparkConf = new SparkConf()。setMaster( "yarn-cluster")。setAppName( "mySparkApp"); JavaSparkContext jsc =新しいJavaSparkContext(sparkConf);

関連する問題