1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe w Pythonie – poziom średnio zaawansowany

Connected

ćwiczenie

Budowanie potoku danych

Stosowanie metod wytwórczych nie tylko sprawia, że kod jest czytelniejszy, ale też łatwiejszy w użyciu. W tym ćwiczeniu przećwiczysz tworzenie potoku danych, który pobiera dane z bazy danych. Klasa DataPipeline implementuje wzorzec projektowy metody wytwórczej i jest przedstawiona poniżej. Zdefiniowane są też dla ciebie dwa konkretne produkty klasy Database: Postgres i Redshift.

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

Instrukcje

100 XP
  • Utwórz items_pipeline przy użyciu klasy DataPipeline i pobierz zbiór danych z bazy "Redshift" za pomocą zapytania SELECT * FROM items;.
  • Zaktualizuj items_pipeline tak, aby pobierał dane z bazy "Postgres", używając tego samego zapytania co poprzednio.
  • Utwórz etl_pipeline, który pobiera dane z bazy "Redshift".