2016-12-13 2 views
2

코드 아래에서 실행 중이며 오류 부분에서 실 더미 로그에 INFO로 예외 스택 추적을 인쇄하고 있습니다. 내 코드는 SQL에서 구문 오류가 발생하여 예외가 생성됩니다. 그러나 원사 로그를 보면 "중지 된 SparkContext에서 메서드 호출"이라고 말하는 것과 같이 예기치 않은 것을 보여줍니다. 이 일에 대한 도움이 필요합니다.Spark에서 스택 추적을 인쇄 할 수 없습니다.

코드 Snipet : -

var ret:String= Try { 
    DbUtil.dropTable("cls_mkt_tracker_split_rownum", batchDatabase) 
    SparkEnvironment.hiveContext.sql(
     s"""CREATE TABLE ${batchDatabase}.CLS_MKT_TRACKER_SPLIT_ROWNUM 
     AS SELECT ROW_NUMBER() OVER(PARTITION BY XREF_IMS_PAT_NBR,MOLECULE ORER BY IMS_DSPNSD_DT) AS ROWNUM,* 
     FROM ${batchDatabase}.CLS_MKT_TRACKER_SPLIT 
    """) 
    true 
    } match { 
    case Success (b:Boolean) => "" 
    case Failure (t :Throwable) => logger.info("I am in failure" + t.getMessage + t.getStackTraceString) ; "failure return" 
    } 

원사 로그 : -

16/12/13 11:19:42 INFO SessionState: No Tez session required at this point. hive.execution.engine=mr. 
16/12/13 11:19:43 INFO DateAdjustment: I am in failureCannot call methods on a stopped SparkContext. 
This stopped SparkContext was created at: 

org.apache.spark.SparkContext.<init>(SparkContext.scala:83) 
SparkEnvironment$.<init>(SparkEnvironment.scala:12) 
SparkEnvironment$.<clinit>(SparkEnvironment.scala) 
DbUtil$.dropTable(DbUtil.scala:8) 
DateAdjustment$$anonfun$1.apply$mcZ$sp(DateAdjustment.scala:126) 
DateAdjustment$$anonfun$1.apply(DateAdjustment.scala:125) 
DateAdjustment$$anonfun$1.apply(DateAdjustment.scala:125) 
scala.util.Try$.apply(Try.scala:161) 
DateAdjustment$delayedInit$body.apply(DateAdjustment.scala:125) 
scala.Function0$class.apply$mcV$sp(Function0.scala:40) 
scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) 
scala.App$$anonfun$main$1.apply(App.scala:71) 
scala.App$$anonfun$main$1.apply(App.scala:71) 
scala.collection.immutable.List.foreach(List.scala:318) 
scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) 
scala.App$class.main(App.scala:71) 
DateAdjustment$.main(DateAdjustment.scala:14) 
DateAdjustment.main(DateAdjustment.scala) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

The currently active SparkContext was created at: 

(No active SparkContext.) 
     org.apache.spark.SparkContext.org$apache$spark$SparkContext$$assertNotStopped(SparkContext.scala:107) 
+0

[this] (http://stackoverflow.com/questions/36084589/could-you-give-me-any-clue-why-cannot-call-methods-on-a-stopped-sparkcontext)의 가능한 복제본 @ TzachZohar의 대답 –

+0

도 참조하십시오 [this] (http://stackoverflow.com/questions/33606403/why-is-cannot-call-methods-on-a-stopped-sparkcontext-thrown-when-connecting-to) –

답변

0

내가 내 응용 프로그램의 한 장소에서 조사하고 발견 SC.stop()가 호출 된 그것은 그 문제를 일으키고있었습니다.

관련 문제