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.
Spark-Submit mempengaruhi ClassPaths melalui pilihan ini:
Untuk memasukkan fail pada kedua-dua ClassPaths, ia perlu dinyatakan dalam kedua-dua bendera.
Pengedaran fail bergantung pada mod pelaksanaan:
Spark-Submit menyokong awalan URI berikut untuk pengedaran fail:
Pilihan yang disebut dalam soalan mempengaruhi pengendalian fail JAR seperti berikut:
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.
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
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!