Apabila menyerahkan tugas Spark menggunakan "spark -submit," anda mempunyai berbilang pilihan untuk menambah fail JAR tambahan:
Pilihan seperti "--driver-class-path" dan "--spark.executor.extraClassPath" digunakan untuk mengubah suai ClassPath. Menambah JAR pada ClassPath membolehkan kod anda mencari dan memuatkan kelas dalam JAR tersebut.
Pemisah untuk berbilang fail JAR dalam tetapan ClassPath bergantung pada sistem pengendalian. Di Linux, ia adalah titik bertindih (':'), manakala pada Windows, ia adalah koma bertitik (';').
Fail JAR ditambah melalui "--jars" atau " SparkContext.addJar()" diedarkan secara automatik kepada semua nod pekerja dalam mod klien. Dalam mod kluster, anda perlu memastikan fail JAR boleh diakses oleh semua nod melalui sumber luaran seperti HDFS atau S3. "SparkContext.addFile()" berguna untuk mengedarkan fail bukan kebergantungan.
"spark-submit" menerima fail JAR menggunakan pelbagai skema URI, termasuk laluan fail setempat, HDFS , HTTP, HTTPS dan FTP.
Fail JAR tambahan disalin ke direktori kerja setiap SparkContext pada nod pekerja, biasanya di bawah "/var/run/spark/work. "
Properti yang ditetapkan terus pada SparkConf mempunyai keutamaan tertinggi, diikuti dengan bendera yang dihantar kepada "spark-submit," dan kemudian pilihan dalam "spark-defaults.conf."
Dalam mod klien, adalah selamat untuk menggunakan berbilang pilihan untuk menambah fail JAR pada kedua-dua nod pemacu dan pekerja. Walau bagaimanapun, dalam mod kluster, anda mungkin perlu menggunakan kaedah tambahan untuk memastikan fail JAR tersedia kepada semua nod pekerja.
Atas ialah kandungan terperinci Bagaimanakah saya menguruskan kebergantungan fail Spark JAR dengan "spark-submit"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!