我想用pyspark连接mysql。我正在使用jupyter笔记本来运行pyspark。但是,当我这样做时,
dataframe_mysql = sqlContext.read.format("jdbc").options(
url="jdbc:mysql://localhost:3306/playground",
driver = "com.mysql.jdbc.Driver",
dbtable = "play1",
user="root",
password="sp123").load()
我收到错误消息
Py4JJavaError:调用o89.load时发生错误。 :java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。
如何解决此错误并将mysql数据加载到pyspark数据框中?
答案 0 :(得分:0)
UINavigationBar.appearance().barTintColor = UIColor.blue
启动的笔记本通过Maven/Gradle或download jar file directly安装MySQL Java连接器驱动程序。然后提供jar路径到pyspark作为pyspark
参数。如果选择了maven方法,则对于mysql连接器版本8.0.11应该是这样的:
--jars
pyspark --jars "${HOME}/.m2/repository/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar"
使用add-packages提供mysql驱动程序,例如:
findspark
答案 1 :(得分:0)
我使用python脚本:
spark = SparkSession \
.builder \
.appName('test') \
.master('local[*]') \
.config("spark.driver.extraClassPath", "<path to mysql-connector-java-5.1.49-bin.jar>") \
.getOrCreate()
df = spark.read.format("jdbc").option("url","jdbc:mysql://localhost/<database_name>").option("driver","com.mysql.jdbc.Driver").option("dbtable","<table_name>").option("user","<user>").option("password","<password>").load()
用您的参数替换<>中的任何内容。