Kom igångKom igång gratis

Definiera en DAG

I de föregående övningarna tillämpade du de tre stegen i ETL-processen:

  • Extrahera: Extrahera PostgreSQL-tabellen film till pandas.
  • Transformera: Dela upp kolumnen rental_rate i DataFrame:en film.
  • Ladda: Ladda DataFrame:en film till ett PostgreSQL-datalager.

Funktionerna extract_film_to_pandas(), transform_rental_rate() och load_dataframe_to_film() är definierade i din arbetsyta. I den här övningen lägger du till en ETL-uppgift i en befintlig DAG. DAG:en som ska utökas och den uppgift som ska inväntas är definierade i din arbetsyta som dag respektive wait_for_table.

Den här övningen är en del av kursen

Introduktion till datatekniker

Visa kurs

Övningsinstruktioner

  • Komplettera funktionen etl() med hjälp av de funktioner som beskrivs i övningsbeskrivningen.
  • Se till att etl_task använder etl som callable.
  • Ange rätt uppströmsberoende. Observera att etl_task ska invänta att wait_for_table är klar.
  • Exempelkoden innehåller en provkörning. Det innebär att ETL-pipelinen körs när du kör koden.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Define the ETL function
def etl():
    film_df = ____()
    film_df = ____(____)
    ____(____)

# Define the ETL task using PythonOperator
etl_task = PythonOperator(task_id='etl_film',
                          python_callable=____,
                          dag=dag)

# Set the upstream to wait_for_table and sample run etl()
etl_task.____(wait_for_table)
etl()
Redigera och kör kod