问题描述
我正在使用
df.write.mode("append").jdbc("jdbc:mysql://ip:port/database", "table_name", properties)
插入到 MySQL 中的表中.
to insert into a table in MySQL.
此外,我在代码中添加了 Class.forName("com.mysql.jdbc.Driver").
Also, I have added Class.forName("com.mysql.jdbc.Driver") in my code.
当我提交 Spark 申请时:
When I submit my Spark application:
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
这种纱线客户端模式对我有用.
This yarn-client mode works for me.
但是当我使用纱线簇模式时:
But when I use yarn-cluster mode:
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
它不起作用.我也试过设置--conf":
It doens't work. I also tried setting "--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
但仍然出现找不到适合 jdbc 的驱动程序"错误.
but still get the "No suitable driver found for jdbc" error.
推荐答案
有 3 种可能的解决方案,
There is 3 possible solutions,
- 您可能希望使用构建管理器(Maven、SBT)组装您的应用程序,因此您无需在
spark-submitcli 中添加依赖项. 您可以在
spark-submitcli 中使用以下选项:
- You might want to assembly you application with your build manager (Maven,SBT) thus you'll not need to add the dependecies in your
spark-submitcli. You can use the following option in your
spark-submitcli :
--jars $(echo ./lib/*.jar | tr ' ' ',')
说明:假设您在项目根目录的 lib 目录中拥有所有 jar,这将读取所有库并将它们添加到应用程序提交中.
Explanation : Supposing that you have all your jars in a lib directory in your project root, this will read all the libraries and add them to the application submit.
您也可以尝试在 SPARK_HOME/conf/spark 中配置这 2 个变量: 文件并将这些变量的值指定为jar文件的路径.确保工作节点上存在相同的路径.spark.driver.extraClassPath 和 spark.executor.extraClassPath-default.conf
You can also try to configure these 2 variables : spark.driver.extraClassPath and spark.executor.extraClassPath in SPARK_HOME/conf/spark-default.conf file and specify the value of these variables as the path of the jar file. Ensure that the same path exists on worker nodes.
这篇关于在 Spark 中找不到适合 jdbc 的驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)