我在用
df.write.mode("append").jdbc("jdbc:mysql://ip:port/database","table_name",properties)
插入MySQL中的表.
其它,我在我的代码中添加了Class.forName(“com.mysql.jdbc.Driver”).
当我提交我的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
这种纱线客户端模式得当我.
可是当我行使纱线聚集模式时:
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”:
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的驱动措施”错误.
最佳谜底
有3种也许的办理方案,
>您也许但愿行使构建打点器(Maven,SBT)组装应用措施,因此您无需在spark-submit cli中添加依靠项. >您可以在spark-submit cli中行使以下选项:
--jars $(echo ./lib/*.jar | tr ' ' ',')
声名:假设您的全部jar都在项目根目次的lib目次中,这将读取全部库并将它们添加到应用措施提交. >您还可以实行在SPARK_HOME / conf / spark-default.conf文件中设置这两个变量:spark.driver.extraClassPath和spark.executor.extraClassPath,并将这些变量的值指定为jar文件的路径.确保事变节点上存在沟通的路径.
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|