2016-08-05 4 views
1

System.out.println()을 수행하는 간단한 작업을 제출할 수 없습니다. 다음은 SnappyData Lead에서 얻은 오류입니다. 여기 간단한 SnappySQLJob을 제출할 수 없습니다.

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)"] } 

는 작업이다

16/08/05 17 : 44 : 07.352 UTC-SnappyLeadJobServer akka.actor.default - 디스패처 여기

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 리드 로그 인 -14 정보 JarManager : 44 : : 1052 바이트 16/08/05 (17), 응용 프로그램 SimpleJobApp 위해 항아리를 저장 07.368 UTC SnappyLeadJobServer-akka.actor.default - 디스패처-19 정보 LocalContextSupervisorActor : snappyContext1470419047337607598 16/08/05 (17)라는 이름의 SparkContext 만들기 : 44 : 07.369 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-16 정보 조 bManagerActor : 시작 액터 spark.jobserver.JobManagerActor 16/08/05 17 : 44 : 07.371 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-16 정보 JobStatusActor : 시작 액터 spark.jobserver.JobStatusActor 16/08/05 17:44 : 07.371 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-14 정보 JobResultActor : 시작 actor spark.jobserver.JobResultActor 16/08/05 17 : 44 : 07.371 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 정보 LocalContextSupervisorActor : SparkContext snappyContext1470419047337607598 초기화 됨 16/08/05 17 : 44 : 07.375 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-16 정보 RddManagerActor : 시작 액터 spark.jobserver.RddManagerActor 16/08/05 17 : 44 : 07.389 UTC SnappyLeadJobServer-akka.actor. default-dispatcher-17 정보 JobManagerActor : 클래스 snappydata.jobs.SimpleJob을 SimpleJobApp에로드합니다. 16/08/05 17 : 44 : 07.389 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 정보 SparkContext : JAR/tmp/spark- jobserver/filedao/data/SimpleJobApp-2016-08-05 T17_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/44 : 17 ContextURLClassLoader 16/08/05에 SimpleJobApp - 2016-08-05T17_44_07.353Z.jar 07.390 UTC SnappyLeadJobServer-akka.actor.default - 디스패처-17 정보 JarUtils $ :로드 개체 snappydata.jobs.SimpleJob $ 사용하여 로더 스파크 .jobserver.util.ContextURLClassLoader @ 709f3e69 16/08/05 17 : 44 : 07.391 UTC SnappyLeadJobServer-akka.actor.default-dispatcher-17 정보 JarUtils $ : 로더를 사용하여 클래스 snappydata.jobs.SimpleJob을로드 중 spark.jobserver.util.ContextURLClassLoader @ 709f3e69 16/08/05 17 : 44 : 시작 스파크 작업 376c8d23-6b49-4138-aadd-e4cff8f9f945 [snappydata.jobs.SimpleJob] ... 16 : 07.392 UTC SnappyLeadJobServer-akka.actor.default - 디스패처-17 정보 JobManagerActor/08/05 17 : 44 : 07.398 UTC pool-29-thread-1 정보 JobManagerActor : 작업 시작 미래 스레드 시작 16/08/05 17 : 44 : 07.402은 UTC-SnappyLeadJobServer akka.actor.default - 디스패처-INFO JobStatusActor 17 : 44 : 07.402 UTC 풀 - 29 - 실 2 - 작업 - 376c8d23-6b49-4138 aadd-17 16/08/05 e4cff8f9f945는 오류 마무리 JobManagerActor 경고 : 예외를 직장에서 376c8d23-6b49-4138-aadd-e4cff8f9f945 : scala.MatchError : 널 (null)을 spark.jobserver.JobManagerActor $$ anonfun $에서 불꽃 $ jobserver $ JobManagerActor $$ getJobFuture $ 4.apply (JobManagerActor.scala : 244)에서 scala.concurrent.impl.Future $ PromiseCompletingRunnable.run (Future.scala : 24)에서 : scala.concurrent.impl.Future $ PromiseCompletingRunnable.liftedTree1 $ 1 (24 Future.scala) java.util.concurrent.ThreadPoolExecutor.runWorker에서 (ThreadPoolExecutor입니다 .java : 1142 at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) java.lang.Thread.run (Thread.java:745)

+0

스칼라 구현을 사용하는 Java 프로그램은이 오류를 보여줍니다. 나는 자바로이 직업을 썼다. –

답변

2

스칼라 API가있는 Java 프로그램은 이것을 제공합니다. 자바 A와 함께 SimpleJob을 작성했습니다. PIs.

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(); 
} 

} 
+0

위대한! 그것은 달렸다. 질문을 따르십시오. SimpleJob.java는 StdOut을 사용합니다. SnappyData 리드 로그로 전달되는 것을 볼 수 없습니다. 내 로그가 표시되도록하려면 대신 어떤 로깅 API를 사용해야합니까? SLF4j? 일반 Log4J? 자바 로깅? – Jason

+0

바람직하게는 slf4j (log4j 1.x를 직접 사용)도 가능합니다. – Sumedh

관련 문제