简体   繁体   English

从数据块连接到数据库时获取 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

[英]Getting java.lang.ClassNotFoundException: com.mysql.jdbc.Driver when connecting to db from databricks

I am getting the below error when trying to connect to db from databricks using Python:尝试使用 Python 从数据块连接到 db 时出现以下错误:

Error:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

Code:代码:

jdbcHostname = "hostname"
jdbcDatabase = "dbname"
jdbcUsername="user"
jdbcPassword="pwd"
jdbcUrl = "jdbc:mysql://{0}/{1}".format(jdbcHostname, jdbcDatabase)
connectionProperties = {
  "user" : jdbcUsername,
  "pwd" : jdbcPassword,
  "driver" : "com.mysql.jdbc.Driver"
}

pushdown_query = "select top 10 [unique id] from table"
dfcontest= spark.read.jdbc(url=jdbcUrl, table=pushdown_query, properties=connectionProperties)
display(dfcontest)

What is wrong here?这里有什么问题? can you kindly help.你能帮忙吗? should we add any jar?我们应该添加任何罐子吗?

Make sure, you have to attached the mysql-connector-java library to your cluster as a library.确保您必须将 mysql-connector-java 库作为库附加到集群中。

To make third-party or locally-built code available to notebooks and jobs running on your clusters, you can install a library.要将第三方或本地构建的代码提供给在集群上运行的笔记本和作业,您可以安装一个库。 Libraries can be written in Python, Java, Scala, and R. You can upload Java, Scala, and Python libraries and point to external packages in PyPI, Maven, and CRAN repositories.库可以用 Python、Java、Scala 和 R 编写。您可以上传 Java、Scala 和 Python 库并指向 PyPI、Maven 和 CRAN 存储库中的外部包。

Steps to install third party libraries:安装第三方库的步骤:

Step1: Create Databricks Cluster.步骤 1:创建 Databricks 集群。

Step2: Select the cluster created. Step2:选择创建的集群。

Step3: Select Libraries => Install New => Select Library Source = "Maven" => Coordinates => Search Packages => Select Maven Central => Search for the package required.步骤3:选择Libraries => Install New => Select Library Source = "Maven" => Coordinates => Search Packages => 选择Maven Central => 搜索所需的包。 Example: mysql-connector-java library => Select the version required => Install示例:mysql-connector-java 库=> 选择所需的版本 => 安装

在此处输入图片说明

Actually you should just pick default driver org.mariadb.jdbc for mysql.实际上,您应该为 mysql 选择默认驱动程序org.mariadb.jdbc Works for me that way.这样对我有用。

尝试使用

"driver" : "com.mysql.cj.jdbc.Driver"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM