Postgres にロードする
この演習では、PostgreSQL のデータウェアハウスにデータを書き出します。変換の結果をアプリケーションで使いたいときに便利です。
たとえば、変換の結果として映画のおすすめを示す列が追加され、それをオンラインストアで利用したい場合などです。
ワークスペースには、pandas の DataFrame film_pdf が用意されています。
参考までに、sqlalchemy の接続 URI の構造は次のとおりです。
postgresql://[user[:password]@][host][:port][/database]
この演習はコースの一部です
データエンジニアリング入門
演習の手順
- データベースエンジンを作成するための接続 URI を完成させてください。ユーザー名とパスワードはそれぞれ
repl、password、ホストはlocalhost、ポートは5432です。今回のデータベースはdwhです。 - 呼び出しを完成させ、データベース内の
"store"スキーマを使うようにしてください。テーブルが存在する場合は、完全に置き換えます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)