In Postgres laden
In dieser Übung schreibst du ein paar Daten in ein PostgreSQL-Data-Warehouse. Das kann nützlich sein, wenn du das Ergebnis einiger Transformationen vorliegen hast und es in einer Anwendung verwenden möchtest.
Zum Beispiel könnte das Ergebnis einer Transformation eine Spalte mit Filmempfehlungen hinzugefügt haben, und du willst diese in deinem Online-Shop nutzen.
In deinem Arbeitsbereich gibt es ein DataFrame namens pandas
mit dem Namen film_pdf
.
Nur zur Erinnerung, hier ist die Struktur einer Verbindungs-URI für sqlalchemy
:
postgresql://[user[:password]@][host][:port][/database]
Diese Übung ist Teil des Kurses
Einführung in das Data Engineering
Anleitung zur Übung
- Vervollständige die Verbindungs-URI, um die Datenbank-Engine zu erstellen. Der Benutzername und das Passwort sind
repl
bzw.password
. Der Host istlocalhost
und der Port ist5432
. Diesmal ist die Datenbankdwh
. - Beende den Aufruf, damit wir das Schema
"store"
in der Datenbank verwenden können. Wenn die Tabelle schon existiert, lösche sie komplett.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Finish the connection URI
connection_uri = "____://____:____@____:____/____"
db_engine_dwh = sqlalchemy.create_engine(connection_uri)
# Transformation step, join with recommendations data
film_pdf_joined = film_pdf.join(recommendations)
# Finish the .to_sql() call to write to store.film
film_pdf_joined.to_sql("film", ____, schema="____", if_exists="____")
# Run the query to fetch the data
pd.read_sql("SELECT film_id, recommended_film_ids FROM store.film", db_engine_dwh)