UżywamNie znaleziono odpowiedni sterownik JDBC w Spark
df.write.mode("append").jdbc("jdbc:mysql://ip:port/database", "table_name", properties)
wstawić do tabeli w MySQL.
Dodałem również kod Class.forName("com.mysql.jdbc.Driver")
.
Kiedy złożyć mój wniosek Spark:
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
Ten tryb przędzy klient działa na mnie.
Ale kiedy używać trybu przędzy klastra:
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
doens't pracy. Próbowałem również ustawienie "--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
, ale nadal pojawia się błąd "Nie znaleziono odpowiedniego sterownika dla jdbc".
Dodałem plik mysql-connector-java-5.1.38-bin.jar do mojego słoika, a teraz nie umieszczam go w moim pliku cli. Robiąc to, klient nadal działa, ale klaster przędzy nie. –
możesz także spróbować skonfigurować te 2 zmienne "spark.driver.extraClassPath" i "spark.executor.extraClassPath" w pliku "SPARK_HOME/conf/spark-default.conf" i określić wartość tych zmiennych jako ścieżkę plik jar. Upewnij się, że ta sama ścieżka istnieje w węzłach roboczych. – Sumit
Ustawienie "spark.driver.extraClassPath" działa dla mnie, dziękuję. –