Mengakses Java/Scala Functions daripada Apache Spark Tasks
Dalam PySpark, memanggil fungsi Java/Scala dalam tugasan boleh menjadi mencabar kerana pengehadan dengan gerbang Py4J.
Isu Dasar
Gerbang Py4J, yang memudahkan komunikasi antara Python dan Java/Scala, hanya berjalan pada pemandu dan tidak boleh diakses oleh pekerja. Operasi tertentu, seperti DecisionTreeModel.predict, gunakan JavaModelWrapper.call untuk menggunakan fungsi Java yang memerlukan akses terus kepada SparkContext.
Penyelesaian
Walaupun komunikasi Py4J lalai tidak dapat dilaksanakan , terdapat beberapa penyelesaian:
Spark SQL Data Sources API:
Scala UDF:
Antara Muka Scala:
Pengurusan Aliran Kerja Luaran:
Konteks SQL Dikongsi:
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Java/Scala daripada Apache Spark Tasks dalam PySpark?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!