Вы можете найти этот python эквивалентный ответу @ Ghost9:
Инициализируйте сеанс искры с помощью пакета драйверов postgres, как показано ниже (Проверьте правильную версию) :
spark = SparkSession \
.builder \
.appName("Python Spark SQL basic example") \
.config("spark.jars.packages", "postgresql-42.2.5.jar") \
.getOrCreate()
Затем вы можете подключиться к jdb c с помощью следующей функции:
def connect_to_sql(
spark, df, jdbc_hostname, jdbc_port, database, data_table, username, password
):
jdbc_url = "jdbc:postgresql://{0}:{1}/{2}".format(jdbc_hostname, jdbc_port, database)
connection_details = {
"user": username,
"password": password,
"driver": "org.postgresql.Driver",
}
df.write.jdbc(url=jdbc_url, table=data_table, mode="append", properties=connection_details)
Вы можете найти различные режимы:
append: Append contents of this :class:DataFrame to existing data.
overwrite: Overwrite existing data.
ignore: Silently ignore this operation if data already exists.
error (default case): Throw an exception if data already exists.