2016-09-03 11 views
3

私はSpark 2.0を使用していますが、入力の問題でジョブが失敗することがあります。たとえば、私はS3フォルダから日付を基にしてCSVファイルを読み込んでいますが、現在の日付のデータがない場合、私の仕事は何も処理しないので、次のように例外がスローされます。これは、ドライバのログに印刷されます。スパーク - 失敗したジョブを特定する方法

Exception in thread "main" org.apache.spark.sql.AnalysisException: Path does not exist: s3n://data/2016-08-31/*.csv; 
    at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$class.failAnalysis(CheckAnalysis.scala:40) 
    at org.apache.spark.sql.catalyst.analysis.Analyzer.failAnalysis(Analyzer.scala:58) 
    at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:174) 
    at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:67) 
... 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:729) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
16/09/03 10:51:54 INFO SparkContext: Invoking stop() from shutdown hook 
16/09/03 10:51:54 INFO SparkUI: Stopped Spark web UI at http://192.168.1.33:4040 
16/09/03 10:51:54 INFO StandaloneSchedulerBackend: Shutting down all executors 
16/09/03 10:51:54 INFO CoarseGrainedSchedulerBackend$DriverEndpoint: Asking each executor to shut down 
Spark App app-20160903105040-0007 state changed to FINISHED 

ただし、このキャッチされていない例外にもかかわらず、私のスパークジョブのステータスは「完了」です。例外があるので、私はそれが 'FAILED'ステータスになると思います。なぜそれが終わったものとしてマークされていますか?仕事が失敗したかどうかはどうすればわかりますか?

注:SparkLauncherを使用してSparkジョブを生成し、AppHandleを介して状態の変化をリッスンしています。しかし、私が受け取る状態の変化は、私がFAILEDを期待しているところでは終わっています。

答えて

0

あなたはいつでも履歴サーバーを起動し、自分の仕事IDをクリックして に行くことができます。

spark job history server job lists

あなたが糸を使用しているなら、あなたは に管理者のWeb UIを資源化に行くことができ、あなたのジョブステータスを追跡します。

enter image description here

+0

おかげカマル。しかし、私はプログラムでこれを行う方法を探しています。別の注記では、Spark MasterのWeb UIでさえ、私が「FAILED」と思っていたところで、そのジョブを「FINISHED」と表示します。 –

+0

ジョブをクリックすると詳細が表示されます。また、ジョブが失敗すると、糸UIの失敗したジョブセクションの下に表示されます。 –

関連する問題