如何使用Spark-submit 將JAR 文件添加到Spark 作業
背景:
Spark-submit是用來提交Spark應用程式的命令列工具。它允許用戶指定各種選項,包括將 JAR 檔案新增至應用程式的類別路徑。
類路徑和JAR 分發:
- ClassPath:透過新增的JAR 檔案火花提交選項(--driver-class-path,--conf spark .driver.extraClassPath,--conf spark.executor.extraClassPath)修改驅動程式或執行程式節點的類別路徑。
- JAR 分發:透過 --jars 或 SparkContext.addJar 方法新增的 JAR 檔案會自動分發到工作節點。
選項分析:
1. --jars vs SparkContext.addJar
-
- 這兩個選項執行相同的功能,將JAR 檔案新增至應用程式的類別路徑。但是,它們在不同的上下文中使用:
-
--jars:在spark-submit命令行期間使用。
SparkContext.addJar:在Spark應用程式中以程式設計方式使用。
- 2。 SparkContext.addJar 與 SparkContext.addFile
-
SparkContext.addJar:新增包含應用程式程式碼使用的依賴項的 JAR 檔案。
SparkContext.addFile:新增任意檔案應用程式程式碼可能無法直接使用的內容(例如設定檔、資料檔案)。
- 3. --driver-class-path 與--conf spark.driver.extraClassPath
在驅動程式節點的類別路徑上指定其他JAR 檔案的別名。
- 4。 --driver-library-path 與 --conf spark.driver.extraLibraryPath
指定驅動程式節點上其他函式庫的路徑的別名。
- 5。 --conf Spark.executor.extraClassPath
在執行器節點的類別路徑上指定其他 JAR 檔案。
- 6. --conf Spark.executor.extraLibraryPath
指定執行器節點上其他庫的路徑。
同時使用多個選項:
只要不衝突,都是安全的同時使用多個 JAR 檔案新增選項。但是,請注意,只有當 JAR 檔案需要位於類別路徑上時,才應將其包含在 extraClassPath 選項中。
範例:
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 檔案使用各種選項:
其他注意事項:
- 使用 --jars 或 SparkContext.addJar 新增的 JAR 檔案將複製到每個執行器節點的工作目錄。
- 工作目錄的位置通常為 /var/run/spark/work .
- 避免在不同選項中重複 JAR 引用,以防止不必要的資源消耗。
以上是如何使用 Spark-submit 將 JAR 檔案新增至 Spark 作業?的詳細內容。更多資訊請關注PHP中文網其他相關文章!