ホームページ >Java >&#&チュートリアル >Spark-submit を使用して JAR ファイルを Spark ジョブに追加するにはどうすればよいですか?

Spark-submit を使用して JAR ファイルを Spark ジョブに追加するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-15 00:25:02981ブラウズ

How to Add JAR Files to Spark Jobs with spark-submit?

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) にコピーされます。 ).

影響を受けるオプション

優先順位が高いものから低いものまでのオプション:

  1. コード内で直接設定された SparkConf プロパティ
  2. spark-submit に渡されるフラグ
  3. 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。