Definice DAGu
V předchozích cvičeních jsi prošel/a fázemi extrakce, transformace a načtení dat samostatně. Teď je vše spojeno do jedné přehledné funkce etl(), kterou si můžeš prohlédnout v konzoli.
Funkce etl() extrahuje surová data o kurzech a hodnoceních z příslušných databází, čistí poškozená data a doplňuje chybějící hodnoty, vypočítá průměrné hodnocení pro každý kurz a vytvoří doporučení na základě definovaných pravidel – a výsledná doporučení nahraje do databáze.
Jak sis možná pamatuje z videa, etl() přijímá jediný argument: db_engines. Ten můžeš funkci předat pomocí op_kwargs v PythonOperator. Stačí mu předat slovník, který se jako kwargs doplní do volané funkce.
Toto cvičení je součástí kurzu
Introduction to Data Engineering
Pokyny k cvičení
- Dokonči definici DAGu tak, aby se spouštěl každý den. Nezapomeň použít cron notaci.
- Dokonči
PythonOperator()tím, že předáš správné argumenty. Kroměetlmáš ve svém prostředí k dispozici takédb_engines.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Define the DAG so it runs on a daily basis
dag = DAG(dag_id="recommendations",
schedule_interval="____")
# Make sure `etl()` is called in the operator. Pass the correct kwargs.
task_recommendations = PythonOperator(
task_id="recommendations_task",
python_callable=____,
op_kwargs={"____": ____},
)