1

System.out.println() を実行するだけの単純なジョブを送信できません。これは、SnappyData リードから返されたエラーです。

snappy-job.sh submit --lead 10.0.18.66:8090 --app-name SimpleJobApp
--class snappydata.jobs.SimpleJob --app-jar simpleJob.jar OKOK{   "status": "ERROR",   "result": {
    "message": "null",
    "errorClass": "scala.MatchError",
    "stack": ["spark.jobserver.JobManagerActor$$anonfun$spark$jobserver$JobManagerActor$$getJobFuture$4.apply(JobManagerActor.scala:244)", "scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)", "scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)", "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)", "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)", "java.lang.Thread.run(Thread.java:745)"]   }

ジョブは次のとおりです。

public class SimpleJob implements SnappySQLJob {

    /**
     * 
     */
    public SimpleJob() {
        System.out.println(getClass().getSimpleName()+" Created");
    }

    @Override
    public Object runJob(Object sparkContext, Config jobConfig) {
        SnappyContext snappyContext = (SnappyContext)sparkContext;
        System.out.println(getClass().getSimpleName()+".runJob: executed");
        return null;
    }

    @Override
    public SparkJobValidation validate(Object sparkContext, Config jobConfig) {
        SnappyContext snappyContext = (SnappyContext)sparkContext;
        System.out.println(getClass().getSimpleName()+".validate: executed");
        return null;
    }

}

SnappyData リード ログは次のとおりです。

16/08/05 17:44:07.352 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-14 INFO JarManager: アプリ SimpleJobApp の jar を保存、1052 バイト 16/08/05 17:44:07.368 UTC SnappyLeadJobServer-akka.actor。 default-dispatcher-19 INFO LocalContextSupervisorActor: snappyContext1470419047337607598 16/08/05 17:44:07.369 UTC という名前の SparkContext を作成しています17:44:07.371 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-16 INFO JobStatusActor: アクター spark.jobserver.JobStatusActor 16/08/05 17:44:07.371 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-14 INFO を開始していますJobResultActor: アクター spark.jobserver.JobResultActor 16/08/05 17:44:07.371 UTC SnappyLeadJobServer-akka.actor を開始します。default-dispatcher-17 INFO LocalContextSupervisorActor: SparkContext snappyContext1470419047337607598 初期化 16/08/05 17:44:07.375 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-16 INFO RddManagerActor: アクター spark.jobserver.RddManagerActor 16/08/05 17 を開始: 44:07.389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JobManagerActor: アプリ SimpleJobApp 16/08/05 17:44:07.389 のクラス snappydata.jobs.SimpleJob を読み込んでいます UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17情報 SparkContext: JAR /tmp/spark-jobserver/filedao/data/SimpleJobApp-2016-08-05T17_44_07.353Z.jar を追加しました389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JobManagerActor: アプリ SimpleJobApp 16/08/05 17:44:07.389 のクラス snappydata.jobs.SimpleJob をロードしています 17:44:07.389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO SparkContext : JAR /tmp/spark-jobserver/filedao/data/SimpleJobApp-2016-08-05T17_44_07.353Z.jar を追加しました389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JobManagerActor: アプリ SimpleJobApp 16/08/05 17:44:07.389 のクラス snappydata.jobs.SimpleJob をロードしています 17:44:07.389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO SparkContext : JAR /tmp/spark-jobserver/filedao/data/SimpleJobApp-2016-08-05T17_44_07.353Z.jar を追加しましたhttp://10.0.18.66:50772/jars/SimpleJobApp-2016-08-05T17_44_07.353Z.jarタイムスタンプ 1470419047389 16/08/05 17:44:07.390 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 情報 ContextURLClassLoader: 追加された URL ファイル:/tmp/spark-jobserver/filedao/data/SimpleJobApp-2016-08-05T17_44_07 .353Z.jar から ContextURLClassLoader 16/08/05 17:44:07.390 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JarUtils$: ローダー spark.jobserver.util.ContextURLClassLoader@ を使用してオブジェクト snappydata.jobs.SimpleJob$ をロードしています709f3e69 16/08/05 17:44:07.391 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JarUtils$: ローダー spark.jobserver.util.ContextURLClassLoader@709f3e69 16/08/05 を使用してクラス snappydata.jobs.SimpleJob をロードしています17:44:07.392 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JobManagerActor: Spark ジョブを開始しています 376c8d23-6b49-4138-aadd-e4cff8f9f945 [snappydata.jobs.SimpleJob]... 16/08/05 17:44 :07.398 UTC pool-29-thread-1 INFO JobManagerActor: ジョブの将来のスレッドを開始しています 16/08/05 17:44:07.402 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 INFO JobStatusActor: ジョブ 376c8d23-6b49-4138-aadd- e4cff8f9f945 はエラー 16/08/05 17:44:07.402 UTC pool-29-thread-2 WARN JobManagerActor: ジョブからの例外 376c8d23-6b49-4138-aadd-e4cff8f9f945: scala.MatchError: null at spark.jobserver.JobManagerActor で終了しました$$anonfun$spark$jobserver$JobManagerActor$$getJobFuture$4.apply(JobManagerActor.scala:244) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future $PromiseCompletingRunnable.run(Future.scala:24) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) で

4

1 に答える 1

2

scala API を使用した Java プログラムでこのエラーが発生します。Java API を使用して SimpleJob を記述しました。

public class SimpleJob extends JavaSnappySQLJob {

  public SimpleJob() {
    System.out.println(getClass().getSimpleName()+" Created");
  }

  @Override
  public Object runJavaJob(SnappyContext snappyContext, Config config) {
       System.out.println(getClass().getSimpleName()+".runJob:    
       executed");
       return null;
  }

  @Override
  public JSparkJobValidation isValidJob(SnappyContext snappyContext, Config config) {
System.out.println(getClass().getSimpleName()+".validate: executed");
return new JSparkJobValid();
}

}
于 2016-08-06T08:58:25.247 に答える