2017-04-10 5 views

答えて

0

収集するメッセージの量に応じて、Accumulatorを使用して、これを行うことを検討できます。組み込みのListAccumulatorが主要候補のようです。

0

基本的には、アプリケーション固有のすべてのログをYARNログに書き込むのではなく、別々のファイルに書き込む必要があります。

https://mapr.com/blog/how-log-apache-spark/

上記のURLは、Apacheのスパークでのカスタムロガーメカニズムを実装することができますどのように、明確に述べています。

+0

メッセージを記録しようとしたワーカーノードは、プログラムを提出した場所とドライバプログラムが実行されている場所とは物理的に異なるマシンになる可能性があることに注意してください。ここで言及されている問題は、ドライバにメッセージを収集する方法です。 – YoYo

0

コードの前後にtry/catchブロックを置き、スタックトレースを出力することができます。

try { 

    // your code 

    } catch { 
    case e: Exception => { 
     e.printStackTrace() 
    } 
+0

Thanks @ Snichit Grover、これはワーカーノードにエラーメッセージを出力します。私はこれらのエラーを収集し、それをドライバマシンに投げる必要があります。 – vindev

+0

エグゼキュータから例外を受け取り、ドライバノードに出力します。これを試してもらえますか? –

+0

これはワーカーノードにエラーメッセージを出力しますが、各ワーカーノードをチェックする必要はありません。ドライバノードにすべてのエラーメッセージを出力したい。 – vindev

関連する問題