spark-submit を使用した Spark ジョブへの JAR ファイルの追加
曖昧な詳細
次の詳細は、以前は不明瞭か省略されていましたドキュメント内:
-
ClassPath: --driver-class-path と --conf spak.driver.extraClassPath はドライバーのクラスパスに影響しますが、--conf dark.executor.extraClassPath Executor クラスパスに影響します。
-
区切り文字: Linux ではコロン (:) が使用されますが、Windows ではセミコロン (;) が使用されます。
-
ディストリビューション:
- クライアント モード: JAR は、ドライバー ノード上のサーバーによって HTTP 経由で配布されます。
- クラスター モード: JAR は、HDFS などを介して手動でワーカー ノードで使用できるようにする必要があります。
-
URI: 「file:/」スキームはドライバー HTTP サーバーによって提供されますが、「hdfs」、「http」、「ftp」はドライバー HTTP サーバーからファイルを直接プルしますURI。 「local:/」は、ファイルが各ワーカー ノードにすでに存在していることを前提としています。
-
ファイルの場所: JAR は各ワーカー ノードの作業ディレクトリ (通常は /var/run/spark/work) にコピーされます。 ).
影響を受けるオプション
優先順位が高いものから低いものまでのオプション:
- コード内で直接設定された SparkConf プロパティ
- spark-submit に渡されるフラグ
- spark-defaults.conf のオプション
オプション分析
-
--jars 対 SparkContext.addJar: これらは JAR 依存関係の追加と同等です。
-
SparkContext.addJar 対 SparkContext.addFile: 依存関係の場合は addJar、任意のファイルの場合は addFile。
-
DriverClassPath オプション: --driver-class-path および --conf dark.driver.extraClassPath はエイリアスです。
-
DriverLibraryPath オプション: - -driver-library-path と --conf spar.driver.extraLibraryPath は、依存関係の java.library.path.
-
Executor ClassPath: --conf spar.executor.extraClassPath を表すエイリアスです。 .
-
エグゼキュータ ライブラリ パス: --conf dark.executor.extraLibraryPath (JVM ライブラリ パス用)。
JAR ファイルを追加するための安全な方法
クライアント モードでの簡素化のため、3 つの主要なオプションをすべて一緒に使用するのが安全です:
spark-submit --jars additional1.jar,additional2.jar \
--driver-class-path additional1.jar:additional2.jar \
--conf spark.executor.extraClassPath=additional1.jar:additional2.jar \
--class MyClass main-application.jar
クラスター モードでは、外部 JAR は HDFS 経由でワーカー ノードに手動で追加する必要があります。
以上がSpark-submit を使用して JAR ファイルを Spark ジョブに追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。