Caricare in Postgres
In questo esercizio, scriverai alcuni dati in un data warehouse PostgreSQL. Questo è utile quando hai il risultato di alcune trasformazioni e vuoi usarlo in un'applicazione.
Per esempio, il risultato di una trasformazione potrebbe aver aggiunto una colonna con raccomandazioni di film, e vuoi usarle nel tuo negozio online.
Nel tuo workspace c'è un DataFrame pandas chiamato film_pdf.
Come promemoria, ecco la struttura di un URI di connessione per sqlalchemy:
postgresql://[user[:password]@][host][:port][/database]
Questo esercizio fa parte del corso
Introduzione al Data Engineering
Istruzioni dell'esercizio
- Completa l'URI di connessione per creare il motore del database. L'utente e la password sono rispettivamente
replepassword. L'host èlocalhoste la porta è5432. Questa volta, il database èdwh. - Completa la chiamata in modo da usare lo schema
"store"nel database. Se la tabella esiste, sostituiscila completamente.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)