私はリモートクラスタ上で実行するスパークジョブを送信していことで火花を提出つまり、Sparkコンテキストを作成してRDDタスクを起動する前に実行します。ファイルはリモートドライバにコピーされますが、ドライバの作業ディレクトリにはコピーされません。で送信されたファイルを読む私は<strong>ドライバ</strong>コードによって<code>some.properties</code>ファイルの内容を読みたい</p> <pre><code>spark-submit ... --deploy-mode cluster --files some.properties ... </code></pre> <p>を実行することにより、ドライバ
私の知っているこの問題を回避する方法は以下のとおりです。
- は
- ストアアプリジャー内のファイル
このファイルは頻繁にあるので、どちらが不便であるHDFSにファイルをアップロード開発マシンを提出すると変更されました。
ドライバコードのメインメソッドで--files
フラグを使用してアップロードされたファイルを読み取る方法はありますか?
と
SparkContext
に、クラスタ上のすべてのノードからアクセス可能なマウントあなた自身を得ました。この方法で、ドライバプログラムのマウントから読み込むことができます。ファイルを返す単純なエンドポイントを公開することができます。この方法で、あなたのドライバープログラムはhttp呼び出しを行うことができます。 –真実、@AlexNaspoですが、冗長です。このファイルはドライバjarと一緒に転送され、同じフォルダにはなく、サーバ上の同じファイルシステムに格納されます。 HTTP経由でもう一度*送信するのは無駄に見えます。 –
@ AlexNaspoの提案に従えば、 '--files'でプロパティファイルを渡す必要がないので、重複しないでしょうか? –