Začněte nyníZačněte zdarma

Sestavení datového pipeline

Používání factory methods nejen zpřehledňuje kód, ale také usnadňuje jeho použití. V tomto příkladu si procvičíš vytvoření datového pipeline, který extrahuje data z databáze. Třída DataPipeline implementuje návrhový vzor factory method a je uvedena níže. Jako concrete products třídy Database jsou pro tebe také připraveny třídy Postgres a 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

Toto cvičení je součástí kurzu

Intermediate Object-Oriented Programming in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř items_pipeline pomocí třídy DataPipeline a extrahuj dataset z databáze "Redshift" s dotazem SELECT * FROM items;.
  • Aktualizuj items_pipeline tak, aby místo toho načítal data z databáze "Postgres", přičemž použij stejný dotaz jako předtím.
  • Vytvoř etl_pipeline, který extrahuje data z "Redshift".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create an ETL DataPipeline, query using Redshift
items_pipeline = ____()
____.extract_data("____", "SELECT * FROM items;")

# Now, switch the pipeline to Postgres
____

# Finally, create an etl_pipeline with Redshift
____ = ____()
____.____("____", "SELECT * FROM sales;")
Upravit a spustit kód