Inhaltsverzeichnis
Frageninhalt
Workaround
Heim Java Problem mit PostgreSQL beim Versuch, PySpark auf Jupyter Notebook auf Docker zu verbinden

Problem mit PostgreSQL beim Versuch, PySpark auf Jupyter Notebook auf Docker zu verbinden

Feb 11, 2024 pm 08:00 PM

php-Editor Youzi erhielt kürzlich Feedback von Benutzern, dass bei der Verwendung von Jupyter Notebook auf Docker für die Verbindung mit PySpark Probleme aufgetreten seien. Das spezifische Problem besteht darin, dass ich während des Verbindungsprozesses auf einige Probleme im Zusammenhang mit PostgreSQL gestoßen bin. Als Reaktion auf dieses Problem stellen wir Ihnen Lösungen und Betriebsschritte zur Verfügung, die Benutzern helfen, sich erfolgreich mit PySpark zu verbinden und das Problem zu lösen. In diesem Artikel stellen wir detailliert vor, wie man mit Jupyter Notebook auf Docker eine Verbindung zu PySpark herstellt, und bieten Lösungen für einige häufig auftretende Probleme. Wir hoffen, dass es für alle hilfreich ist.

Frageninhalt

Ich hatte dieses Problem py4jjavaerror: 调用 o124.save 时发生错误。 :org.postgresql.util.psqlexception:与 localhost:5432 的连接被拒绝。检查主机名和端口是否正确,以及 postmaster 是否接受 tcp/ip 连接。 Wenn ich diesen Pysark-Code auf einem Jupyter-Notebook ausführe und alles mit Docker ausführe, wird Postgresql auf meinem lokalen Computer (Windows) installiert.

from pyspark.sql import SparkSession
from pyspark.sql.functions import lit, col, explode
import pyspark.sql.functions as f

spark = SparkSession.builder.appName("ETL Pipeline").config("spark.jars", "./postgresql-42.7.1.jar").getOrCreate()
df = spark.read.text("./Data/WordData.txt")

df2 = df.withColumn("splitedData", f.split("value"," "))
df3 = df2.withColumn("words", explode("splitedData"))
wordsDF = df3.select("words")
wordCount = wordsDF.groupBy("words").count()

driver = "org.postgresql.Driver"
url = "jdbc:postgresql://localhost:5432/local_database"
table = "word_count"
user = "postgres"
password = "12345"

wordCount.write.format("jdbc") \
    .option("driver", driver) \
    .option("url", url) \
    .option("dbtable", table) \
    .option("mode", "append") \
    .option("user", user) \
    .option("password", password) \
    .save()

spark.stop()
Nach dem Login kopieren

Ich habe versucht, postgresql.conf zu bearbeiten, um „listen_addresses = ‚localhost‘“ hinzuzufügen, und pg_hba.conf zu bearbeiten, um „host all all 0.0.0.0/0 md5“ hinzuzufügen, aber es hat bei mir nicht funktioniert, also weiß ich nicht, was ich tun soll Tun.

Workaround

Ich habe auch das Problem gelöst, PostgreSQL auf Docker zu installieren (mit diesem Image https://hub.docker.com/_/postgres/, um einen Container nur für Postgres zu erstellen) und den Befehl im PySpark-Container zu verwenden Erstellen Sie ein Netzwerk zwischen dem PostgreSQL-Container

docker网络创建my_network,

Dieser Befehl gilt für den Postgres-Container

docker run --name postgres_container --network my_network -e POSTGRES_PASSWORD=12345 -d -p 5432:5432 postgres:latest

Dies ist für den Jupyter-Pyspark-Container

docker run --name jupyter_container --network my_network -it -p 8888:8888 -v C:homeworkpath:/home/jovyan/work jupyter/pyspark-notebook:latest

Das obige ist der detaillierte Inhalt vonProblem mit PostgreSQL beim Versuch, PySpark auf Jupyter Notebook auf Docker zu verbinden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)