问题描述
有多个版本的MysqL连接器库。
/usr/share/java/mysql-connector-java-5.1.46.jar
/usr/share/java/mysql-connector-java.jar
/usr/share/java/mariadb-connector-java.jar
/usr/share/java/mysql-connector-java-8.0.24.jar
I added external jar library blow path. (spark-default.xml)
- spark.driver.extraClasspath : ~~~:/usr/share/java/*
- spark.executor.extraClasspath : ~~~:/usr/share/java/*
如果我在没有 --jars {specific MysqL connector} 的情况下运行 spark-submit 命令,MysqL 连接器版本是什么?我在哪里可以找到? (火花历史服务器?)
例如)
jdbc = spark.read.format("jdbc")\
.option("driver","com.MysqL.jdbc.Driver")\
.option("url","jdbc:MysqL://url:3306/db")\
.option("user","XXX")\
.option("password","XXX")\
.option("dbtable","table")\
.load()
jdbc.show()
解决方法
environment tab 的 Spark Web UI 包含“类路径条目”部分。在这里,您可以找到已添加到当前运行的 Spark 应用程序的类路径中的所有 jar,从而识别 mysql 连接器的 jar(和版本)。
如果历史服务器正在运行,它的 Web UI 也会在 Spark 作业完成后包含相同的信息。