2017-02-03 5 views
-1

レポートツールを使用しており、クラスタ上のすべてのユーザーによって実行されたスパークジョブの保存されたRDDの出力場所を調べる必要があります。私はスパークヒストリサーバーAPI /スパークイベントログ/スパークリスナ/ YARNログを試しましたが、実行されたジョブの場所を取得できませんでした。あなたのHadoopRDDまたはデータフレームで呼び出さ:すべてのユーザーが実行するスパークジョブの宛先ディレクトリ/場所の取得

は、最終的な出力は、あなたが{} {書き込み(文字列のパス)}に渡すパスの下に行く...事前に

+0

最小、完全、および確認可能な例で更新してください。あなたのコードがファイルに書き込んでいるのであれば、すでに出力場所を知っていることは明らかですか?私はエグゼキュータ/パートファイルについてあなたが欠けていると思います。 – code

+0

たとえば、ファイルが読み込まれ、必要な変換が行われた後の単純な単語カウントプログラムでは、最終RDDが単語とそのカウントを持つディスクに書き込まれます。私のプログラムに関するものではありませんが、一般に、クラスタ上で実行されている異なるジョブの出力ディレクトリ、つまりYARNクラスタを調べる必要があります。 – user2641186

+0

YARNを使用しているので、HDFSに書き込んでいると仮定します。もしそうなら、パスを指定しますか?ローカルファイルシステムに書き込んで絶対パスを指定している場合は、それがそれぞれのエグゼキュータ上にあります。相対パスIIRCの場合は、spark binディレクトリからの相対パスですか?あなたのデータをドライバに収集している場合、あなたのデータは以前のコメントに従って書かれますが、今度はドライバをホストしているマシンで書かれます。 – ImDarrenG

答えて

0

、ありがとうございました。

+0

それは本当です。しかし、これは私の質問ではありません。私の質問は、実装の知識がなくても、実行されたすべてのジョブのコピー先を決定することです。イベントログや他の場所から、RDDがどの場所に書き込まれたかを知ることができます。私は、イベントログからそれを見つけることができませんまたは履歴サーバーの休息APIを起動します。これは、レポートの目的のみです。 – user2641186

関連する問題