Dekorace tasku
Rozhodl/a ses implementovat konkrétní Airflow task v Pythonu. Tento task má za úkol stáhnout soubor a uložit ho do systému v rámci Airflow – k tomu slouží funkce pull_file, která je pro tebe již připravená.
Knihovna requests je naimportovaná, stejně jako objekt Airflow dagu.
Toto cvičení je součástí kurzu
Úvod do Apache Airflow v Pythonu
Pokyny k cvičení
- Naimportuj potřebný objekt z knihovny Airflow.
- Nastav funkci
pull_filejako Airflow task. - Zavolej objekt tasku.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Import the task decorator
from ____ import ____
@dag(dag_id='file_update')
def file_update():
# Decorate the function as a task
____
def pull_file(URL, savepath):
r = requests.get(URL)
with open(savepath, 'wb') as f:
f.write(r.content)
print(f"File pulled from {URL} and saved to {savepath}")
# Call the task
____('http://dataserver/sales.json', 'latestsales.json')
file_update()