spark-submit を使用した Spark ジョブへの JAR ファイルの追加
曖昧な詳細
次の詳細は、以前は不明瞭か省略されていましたでドキュメント:
-
クラスパス: --driver-class-path および --conf spak.driver.extraClassPath はドライバーのクラスパスに影響し、--conf spar.executor.extraClassPath はドライバーのクラスパスに影響します。 Executor クラスパス。
-
区切り文字: Linux ではコロンが使用されます。 (:)、Windows ではセミコロン (;) が使用されます。
-
配布:
- クライアント モード: JAR は、サーバーによって HTTP 経由で配布されます。ドライバー ノード。
- クラスター モード: HDFS または同様です。
-
URI: "file:/" スキームはドライバー HTTP サーバーによって提供されますが、"hdfs"、"http"、"ftp" はファイルをプルしますURI から直接。 「local:/」は、ファイルが各ワーカー ノードにすでに存在していることを前提としています。
-
ファイルの場所: JAR は各ワーカー ノードの作業ディレクトリ (通常は /var/run/spark/work) にコピーされます。 ).
影響ありオプション
優先順位の高いオプションから低いものまで:
- コード内で直接設定される SparkConf プロパティ
- spark-submit に渡されるフラグ
- のオプションsmile-defaults.conf
オプション分析
-
--jars と SparkContext.addJar: これらは追加と同等です瓶依存関係。
-
SparkContext.addJar と SparkContext.addFile: 依存関係の場合は addJar、任意のファイルの場合は addFile。
-
DriverClassPath オプション: --driver- class-path と --conf spar.driver.extraClassPath はaliases.
-
DriverLibraryPath オプション: --driver-library-path および --conf スパーク.driver.extraLibraryPath は、java.library.path.
- エグゼキュータのクラスパス: --conf スパーク.executor.extraClassPath依存関係の場合。
- Executor Library Path: --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 サイトの他の関連記事を参照してください。