1. Lära sig
  2. /
  3. Courses
  4. /
  5. Python 中級オブジェクト指向プログラミング

Connected

exercise

データパイプラインを構築する

ファクトリメソッドを使うと、コードは読みやすくなるだけでなく、使いやすくもなります。この演習では、データベースからデータを抽出するデータパイプラインの作成を練習します。DataPipeline クラスはファクトリメソッドのデザインパターンを実装しており、以下に示しています。さらに、Database クラスの具体的なプロダクトとして Postgres と Redshift の2つも用意されています。

class DataPipeline:
  def _get_database(self, provider):
    if provider == "Postgres":
      return Postgres()
    elif provider == "Redshift":
      return Redshift()

  def extract_data(self, provider, query):
    database = self._get_database(provider)
    dataset = database.query_data(query)
    print(f"Extracted dataset from {provider} database")
    return dataset

Instruktioner

100 XP
  • DataPipeline クラスを使って items_pipeline を作成し、"Redshift" データベースから SELECT * FROM items; のクエリでデータセットを抽出します。
  • 同じクエリを使い、items_pipeline を "Postgres" データベースから取得するように更新します。
  • "Redshift" からデータを抽出する etl_pipeline を作成します。