首页 > 解决方案 > 如何使用 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

我可能会错过非常微小的细节。我怎样才能解决这个问题?

标签: pyspark

解决方案


错误描述清楚地表明它无法找到 JDBC 驱动程序类。您必须使用 com.mysql.jdbc.Driver 包含 JAR 文件

pyspark --jars  <jar-file-location>

请参阅此问题 -如何添加第三方 Java JAR 文件以在 PySpark 中使用


推荐阅读