pyspark - 如何使用 PySpark 在 MySQL 中保存数据帧
问题描述
我是 Apache Spark 的新手。我有一个用例,我必须在 MySQL 中保存数据框数据。我得到了下面的代码来做同样的事情:
data_frame.write.format('jdbc').options(
url='URI',
driver='com.mysql.jdbc.Driver',
dbtable=table_name,
user=user_name,
password='your_password').mode('append').save()
但是当我运行代码时,出现以下错误:
File "/usr/local/Cellar/apache-spark/2.3.1/libexec/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o207.save.
: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我可能会错过非常微小的细节。我怎样才能解决这个问题?
解决方案
错误描述清楚地表明它无法找到 JDBC 驱动程序类。您必须使用 com.mysql.jdbc.Driver 包含 JAR 文件
pyspark --jars <jar-file-location>
请参阅此问题 -如何添加第三方 Java JAR 文件以在 PySpark 中使用。
推荐阅读
- r - 按参与者 ID 聚合数据集
- hadoop - 如何通过 API 传递参数以供 Oozie 中的 shell 脚本获取?
- java - 应用程序停止工作:单击列表选项时猜词游戏停止工作
- visual-c++ - Visual Stidio 2015 # pragma comment (linker, "/EXPORT options
- scala - 构建一个大任务计算与同步执行几个步骤相比如何?
- c# - 在特定日期使程序崩溃
- mysql - SQL,用电子邮件替换部分字符串
- java - 构建时错误:prolog 中不允许内容
- selenium-chromedriver - 即使在使用 driver.quit() 之后,chromedriver.exe 进程仍然存在于任务管理器中
- php - 通过 PHP 上传大文件