Rumah  >  Artikel  >  Java  >  Bagaimana untuk menambah fail JAR ke kerja Spark menggunakan spark-submit?

Bagaimana untuk menambah fail JAR ke kerja Spark menggunakan spark-submit?

DDD
DDDasal
2024-11-09 22:59:02561semak imbas

How to add JAR files to a Spark job using spark-submit?

Cara Menambah Fail JAR pada Spark Job Menggunakan spark-submit

Latar Belakang:

Spark-submit ialah alat baris perintah yang digunakan untuk menyerahkan aplikasi Spark. Ia membenarkan pengguna untuk menentukan pelbagai pilihan, termasuk menambah fail JAR pada laluan kelas aplikasi.

Laluan Kelas dan Pengagihan JAR:

  • ClassPath: Fail JAR ditambah melalui pilihan serah percikan (--laluan-kelas-pemandu, --conf spark.driver.extraClassPath, --conf spark.executor.extraClassPath) mengubah suai laluan kelas nod pemacu atau pelaksana.
  • Pengagihan JAR: Fail JAR ditambah melalui kaedah --jars atau SparkContext.addJar diedarkan secara automatik kepada nod pekerja.

Pilihan Analisis:

1. --jars vs SparkContext.addJar

  • Kedua-dua pilihan ini melaksanakan fungsi yang sama untuk menambah fail JAR pada laluan kelas aplikasi. Walau bagaimanapun, ia digunakan dalam konteks yang berbeza:

    • --jars: Digunakan semasa baris arahan spark-submit.
    • SparkContext.addJar: Digunakan secara pengaturcaraan dalam aplikasi Spark.

2. SparkContext.addJar vs SparkContext.addFile

  • SparkContext.addJar: Menambah fail JAR yang mengandungi kebergantungan yang digunakan oleh kod aplikasi.
  • SparkContext.addFile: Menambah fail arbitrari yang mungkin tidak digunakan secara langsung oleh kod aplikasi (cth., fail konfigurasi, data fail).

3. --driver-class-path vs --conf spark.driver.extraClassPath

  • Alias ​​yang menentukan fail JAR tambahan pada classpath nod pemacu.

4. --driver-library-path vs --conf spark.driver.extraLibraryPath

  • Alias ​​yang menentukan laluan ke perpustakaan tambahan pada nod pemacu.

5. --conf spark.executor.extraClassPath

  • Menentukan fail JAR tambahan pada laluan kelas nod pelaksana.

6. --conf spark.executor.extraLibraryPath

  • Menentukan laluan ke perpustakaan tambahan pada nod pelaksana.

Menggunakan Berbilang Pilihan Serentak>:

Selagi tidak bercanggah, adalah selamat untuk menggunakan berbilang pilihan penambahan fail JAR pada masa yang sama. Walau bagaimanapun, ambil perhatian bahawa fail JAR hanya boleh disertakan dalam pilihan extraClassPath jika ia perlu berada di laluan kelas.

Contoh:

Arahan berikut menunjukkan penambahan fail JAR menggunakan pelbagai pilihan:

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

Tambahan Pertimbangan:

  • Fail JAR yang ditambahkan menggunakan --jars atau SparkContext.addJar disalin ke direktori kerja setiap nod pelaksana.
  • Lokasi direktori kerja biasanya /var/run/spark/work .
  • Elakkan menduplikasi rujukan JAR dalam pilihan yang berbeza untuk mengelakkan penggunaan sumber yang tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk menambah fail JAR ke kerja Spark menggunakan spark-submit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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