LoslegenKostenlos loslegen

Eine Datenpipeline aufbauen

Factory-Methoden machen Code nicht nur leichter lesbar, sondern auch einfacher nutzbar. In diesem Beispiel übst du, eine Datenpipeline zu erstellen, die Daten aus einer Datenbank extrahiert. Die Klasse DataPipeline implementiert das Factory-Method-Entwurfsmuster und ist hier gezeigt. Außerdem sind zwei konkrete Produkte der Klasse Database für dich definiert: Postgres und 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

Diese Übung ist Teil des Kurses

Fortgeschrittene objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine items_pipeline mit der Klasse DataPipeline und extrahiere einen Datensatz aus einer "Redshift"-Datenbank mit der Abfrage SELECT * FROM items;.
  • Aktualisiere die items_pipeline, sodass sie stattdessen aus einer "Postgres"-Datenbank lädt, und verwende dieselbe Abfrage wie zuvor.
  • Erstelle eine etl_pipeline, die Daten aus "Redshift" extrahiert.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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;")
Code bearbeiten und ausführen