【发布时间】:2023-01-17 09:59:49
【问题描述】:
我正在尝试将 spark 数据帧加载到 postgresql 表中,我已将最新的 postgresql jdbc 驱动程序添加到 spark.jars 中,但我仍然收到错误
Py4JJavaError: An error occurred while calling o80.save.
: java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
这是我的代码:
spark = SparkSession \
.builder \
.appName("Python Spark Purple Air") \
.master("local") \
.config("spark.jars", "/<location-jar-file>/postgresql-42.5.1.jar") \
.getOrCreate()
list_df.select("api_version","data_time_stamp","sensor", "time_stamp").write.mode("overwrite").format("jdbc")\
.option("url", "jdbc:postgresql://localhost:5432/purpleair_data") \
.option("driver", "org.postgresql.Driver").option("dbtable", "purpleair") \
.option("user", "postgres").option("password", "xxx").save()
我确实找到了多个相关的堆栈溢出链接,但是当我将 jar 文件配置为 spark.jars 时,所有这些链接都得到了解决,这就是我所做的,但它似乎仍然无法正常工作。我在 conda 环境中安装了 pyspark,并且在 jupyter notebook 中运行这段代码。任何形式的帮助或解决方法都会真正帮助我。
【问题讨论】:
标签: java postgresql pyspark driver