Laden in Postgres
In deze oefening schrijf je data weg naar een PostgreSQL-datawarehouse. Dat is handig wanneer je een resultaat van enkele transformaties hebt en het in een toepassing wilt gebruiken.
Bijvoorbeeld: het resultaat van een transformatie kan een kolom met film-aanbevelingen hebben toegevoegd, en die wil je gebruiken in je online winkel.
Er staat een pandas DataFrame met de naam film_pdf in je werkruimte.
Ter herinnering, zo ziet de structuur van een verbindings-URI voor sqlalchemy eruit:
postgresql://[user[:password]@][host][:port][/database]
Deze oefening maakt deel uit van de cursus
Introductie tot Data Engineering
Oefeninstructies
- Maak de verbinding-URI af om de database-engine te maken. De gebruiker en het wachtwoord zijn respectievelijk
replenpassword. De host islocalhosten de poort is5432. Deze keer is de databasedwh. - Maak de aanroep af zodat we het
"store"-schema in de database gebruiken. Als de tabel bestaat, vervang die dan volledig.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)