Menambahkan Fail JAR ke Spark Jobs dengan spark-submit
Butiran Samar
Butiran berikut sebelum ini tidak jelas atau ditinggalkan dalam dokumentasi:
-
ClassPath: --driver-class-path dan --conf spark.driver.extraClassPath menjejaskan laluan kelas Pemandu, manakala --conf spark.executor.extraClassPath mempengaruhi laluan kelas Pelaksana.
-
Watak Pemisahan: Linux menggunakan titik bertindih (:), manakala Windows menggunakan koma bertitik (;).
-
Pengedaran:
- Mod pelanggan: JAR diedarkan melalui HTTP oleh pelayan pada nod Pemandu.
- Mod Kluster: JAR mesti disediakan secara manual kepada nod Pekerja melalui HDFS atau yang serupa.
-
URI: Skim "fail:/" disediakan oleh pelayan HTTP Pemandu, manakala "hdfs", "http", "ftp" menarik fail terus dari URI. "local:/" menganggap fail sudah ada pada setiap nod Pekerja.
-
Lokasi Fail: JAR disalin ke direktori kerja pada setiap nod Pekerja (biasanya /var/run/spark/work ).
Pilihan Terjejas
Pilihan dengan keutamaan dari tertinggi ke terendah:
- Sifat SparkConf ditetapkan terus dalam kod
- Bendera diserahkan kepada percikan-serahkan
- Pilihan dalam pencucuh-lalai.conf
Analisis Pilihan
-
--jars vs SparkContext.addJar: Ini adalah setara untuk menambah kebergantungan JAR.
-
SparkContext.addJar vs SparkContext.addFile: addJar untuk kebergantungan, add.File untuk arbitrari fail
-
PilihanDriverClassPath: --driver-class-path dan --conf spark.driver.extraClassPath ialah alias.
- DriverLibraryPath Options> -
- Executor ClassPath: --conf spark.executor.extraClassPath untuk dependensi .
- Laluan Perpustakaan Pelaksana: --conf spark.executor.extraLibraryPath untuk laluan perpustakaan JVM.
Amalan Selamat untuk Menambah Fail JAR
Untuk kesederhanaan dalam mod Pelanggan, adalah selamat untuk menggunakan ketiga-tiga pilihan utama bersama-sama:
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
Salin selepas log masuk
Dalam mod Kluster, JAR luaran hendaklah ditambahkan secara manual pada nod Pekerja melalui HDFS.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Fail JAR ke Spark Jobs dengan spark-submit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!