Tôi đang sử dụngKhông lái xe phù hợp tìm thấy cho jdbc trong Spark
df.write.mode("append").jdbc("jdbc:mysql://ip:port/database", "table_name", properties)
để chèn vào một bảng trong MySQL.
Ngoài ra, tôi đã thêm Class.forName("com.mysql.jdbc.Driver")
vào mã của mình.
Khi tôi nộp đơn xin Spark tôi:
spark-submit --class MY_MAIN_CLASS
--master yarn-client
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
chế độ sợi-client này làm việc cho tôi.
Nhưng khi tôi sử dụng chế độ sợi cụm:
spark-submit --class MY_MAIN_CLASS
--master yarn-cluster
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
Nó doens't làm việc. Tôi cũng đã thử đặt "--conf":
spark-submit --class MY_MAIN_CLASS
--master yarn-cluster
--jars /path/to/mysql-connector-java-5.0.8-bin.jar
--driver-class-path /path/to/mysql-connector-java-5.0.8-bin.jar
--conf spark.executor.extraClassPath=/path/to/mysql-connector-java-5.0.8-bin.jar
MY_APPLICATION.jar
nhưng vẫn gặp lỗi "Không tìm thấy trình điều khiển phù hợp cho jdbc".
Tôi đã thêm mysql-connector-java-5.1.38-bin.jar vào trong bình và bây giờ tôi không đưa nó vào cli của tôi. Bằng cách làm sợi-khách hàng này vẫn hoạt động nhưng cụm sợi không. –
bạn cũng có thể thử định cấu hình 2 biến "spark.driver.extraClassPath" và "spark.executor.extraClassPath" trong tệp "SPARK_HOME/conf/spark-default.conf" và chỉ định giá trị của các biến này làm đường dẫn của tệp jar. Đảm bảo rằng cùng một đường dẫn tồn tại trên các nút công nhân. – Sumit
Đặt "spark.driver.extraClassPath" hoạt động cho tôi, cảm ơn. –