CommencerCommencer gratuitement

Créer un pipeline de données

Utiliser des méthodes de fabrique rend le code non seulement plus lisible, mais aussi plus facile à utiliser. Dans cet exemple, vous allez vous entraîner à créer un pipeline de données qui extrait des données d'une base de données. La classe DataPipeline met en œuvre le patron de conception « factory method » et est présentée ici. Deux produits concrets de la classe Database sont également définis pour vous : Postgres et 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

Cet exercice fait partie du cours

Programmation orientée objet intermédiaire en Python

Afficher le cours

Instructions

  • Créez un items_pipeline en utilisant la classe DataPipeline, puis extrayez un jeu de données depuis une base "Redshift" avec la requête SELECT * FROM items;.
  • Mettez à jour items_pipeline pour récupérer depuis une base "Postgres" à la place, en utilisant la même requête qu'auparavant.
  • Créez un etl_pipeline qui extrait des données depuis "Redshift".

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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;")
Modifier et exécuter le code