ÎncepețiÎncepe gratuit

Construirea unui pipeline de date

Utilizarea metodelor factory nu doar că face codul mai ușor de citit, ci și mai ușor de folosit. În acest exemplu, vei exersa crearea unui pipeline de date care extrage date dintr-o bază de date. Clasa DataPipeline implementează pattern-ul de design factory method și este prezentată mai jos. De asemenea, sunt definite pentru tine două produse concrete ale clasei 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

Acest exercițiu face parte din cursul

Programare orientată pe obiecte intermediară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un items_pipeline folosind clasa DataPipeline, extrage un set de date dintr-o bază de date "Redshift" cu interogarea SELECT * FROM items;.
  • Actualizează items_pipeline pentru a extrage date dintr-o bază de date "Postgres" în loc, folosind aceeași interogare ca înainte.
  • Creează un etl_pipeline care extrage date din "Redshift".

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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;")
Editează și rulează codul