Я пытаюсь записать фрейм данных в базу данных Postgres и слежу за вопросом здесь . Как этот пользователь, я подтвердил, что могу запускать код прямо из командной строки, но мне нужно, чтобы он запускался через Блокнот Jupyter. Вот что у меня есть:
from pyspark.sql import SparkSession
spark = SparkSession.builder.config('spark.driver.extraClassPath', '/home/hadoop/postgresql-42.2.5.jar').getOrCreate()
df = spark.read.format("parquet").option("inferSchema","false").option("header","true").load(input).select(fields)
mode = "append"
url = "jdbc:postgresql://host/db"
properties = {"user": "user","password": "password","driver": "org.postgresql.Driver"}
df.write.jdbc(url=url, table="test_result", mode=mode, properties=properties)
Но я продолжаю получать сообщение об ошибке:
An error occurred while calling o188.jdbc.
: java.lang.ClassNotFoundException: org.postgresql.Driver
Пожалуйста, кто-то укажет, что я делаю неправильно, я в конце своегоостроумие.
РЕДАКТИРОВАТЬ:
Я обновил свой код для этого:
from pyspark.sql import SparkSession
spark = SparkSession.builder.config('spark.driver.extraClassPath', '/home/hadoop/postgresql-42.2.5.jar').getOrCreate()
mode = "append"
url = "jdbc:postgresql://host/db"
properties = {"user": "user","password": "password"}
df.write.jdbc(url=url, table="test_result", mode=mode, properties=properties)
и получил новую ошибку:
An error occurred while calling o236.jdbc.
: java.sql.SQLException: No suitable driver
РЕДАКТИРОВАТЬ 2:
Связанные посты предназначены для документированных конфигураций MySQL, которые не используют ноутбуки Jupyter