Rumah > Java > javaTutorial > Bagaimanakah fail JAR ditambahkan pada kerja Spark menggunakan Spark-Submit, dan apakah pilihan serta pertimbangan berbeza untuk berbuat demikian?

Bagaimanakah fail JAR ditambahkan pada kerja Spark menggunakan Spark-Submit, dan apakah pilihan serta pertimbangan berbeza untuk berbuat demikian?

Mary-Kate Olsen
Lepaskan: 2024-11-16 17:41:03
asal
838 orang telah melayarinya

How are JAR files added to a Spark job using Spark-Submit,  and what are the different options and considerations for doing so?

Menambah Fail JAR pada Kerja Spark dengan Spark-Submit

Apabila menggunakan Spark-Submit, terdapat beberapa pilihan untuk menambah fail JAR pada kerja Spark, setiap satu dengan implikasinya sendiri untuk laluan kelas, pengedaran fail dan keutamaan.

Kesan ClassPath

Spark-Submit mempengaruhi ClassPaths melalui pilihan ini:

  • spark.driver.extraClassPath atau --driver-class-path: Menentukan laluan kelas tambahan untuk nod pemacu.
  • spark.executor.extraClassPath: Menentukan laluan kelas tambahan untuk nod pekerja.

Untuk memasukkan fail pada kedua-dua ClassPaths, ia perlu dinyatakan dalam kedua-dua bendera.

Pengagihan Fail

Pengedaran fail bergantung pada mod pelaksanaan:

  • Mod pelanggan: Spark mengedarkan fail ke nod pekerja melalui pelayan HTTP.
  • Mod Kluster: Spark tidak mengedarkan fail dan anda mesti menyediakannya secara manual kepada semua nod pekerja melalui HDFS atau storan kongsi lain.

Format URI yang Diterima

Spark-Submit menyokong awalan URI berikut untuk pengedaran fail:

  • fail:: Disediakan oleh pelayan HTTP pemacu.
  • hdfs:, http:, https:, ftp:: Ditarik daripada URI yang ditentukan.
  • local:: Mestilah fail setempat pada setiap nod pekerja.

Pilihan Terjejas

Pilihan yang disebut dalam soalan mempengaruhi pengendalian fail JAR seperti berikut:

  • --jar dan SparkContext.addJar: Pilihan setara yang tidak menambah JAR pada ClassPaths.
  • SparkContext.addFile: Digunakan untuk fail arbitrari yang bukan kebergantungan masa jalan.
  • --conf spark.driver.extraClassPath atau - -driver-class-path: Alias ​​untuk pengubahsuaian ClassPath pemandu.
  • --conf spark.driver.extraLibraryPath atau --driver-library-path: Alias ​​untuk laluan perpustakaan pemandu.
  • -- conf spark.executor.extraClassPath: Digunakan untuk kebergantungan masa jalan yang tidak boleh disertakan dalam JAR über.
  • --conf spark.executor.extraLibraryPath: Menentukan pilihan java.library.path JVM.

Keutamaan

Sifat yang ditetapkan terus pada SparkConf mempunyai keutamaan tertinggi, diikuti dengan bendera Spark-Submit dan kemudian pilihan dalam spark-defaults.conf. Oleh itu, sebarang nilai yang ditetapkan dalam kod akan mengatasi bendera atau pilihan yang sepadan.

Menambah Fail JAR Serentak

Dalam mod klien, adalah selamat untuk menambah fail JAR menggunakan ketiga-tiga pilihan utama:

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

Walau bagaimanapun, dalam mod kluster, anda hanya perlu menambah fail menggunakan --jars dan mengedarkannya sendiri ke nod pekerja secara manual. Argumen berlebihan seperti menghantar fail JAR ke --driver-library-path harus dielakkan.

Atas ialah kandungan terperinci Bagaimanakah fail JAR ditambahkan pada kerja Spark menggunakan Spark-Submit, dan apakah pilihan serta pertimbangan berbeza untuk berbuat demikian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan