【发布时间】:2017-09-03 12:01:37
【问题描述】:
我有以下测试代码:
from pyspark import SparkContext, SQLContext
sc = SparkContext('local')
sqlContext = SQLContext(sc)
print('Created spark context!')
if __name__ == '__main__':
df = sqlContext.read.format("jdbc").options(
url="jdbc:mysql://localhost/mysql",
driver="com.mysql.jdbc.Driver",
dbtable="users",
user="user",
password="****",
properties={"driver": 'com.mysql.jdbc.Driver'}
).load()
print(df)
当我运行它时,我收到以下错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
在 Scala 中,这是通过将 .jar mysql-connector-java 导入项目来解决的。
但是,在 python 中,我不知道如何告诉 pyspark 模块链接 mysql-connector 文件。
我已经看到用类似的例子解决了这个问题
spark --package=mysql-connector-java testfile.py
但我不希望这样,因为它迫使我以一种奇怪的方式运行我的脚本。我想要一个全 python 的解决方案,或者在某个地方复制一个文件,或者在路径中添加一些东西。
【问题讨论】: