@task.bash ile bir BashOperator tanımlama
Bir Bash görevi, herhangi bir kabuk komutunu veya betiğini belirtip bunu bir Airflow iş akışına eklemene olanak tanır. Bu, ortamında Airflow’u uygulamaya başlamak için harika bir yol olabilir.
Buna göre, Veri Analitiği ekibindeki çalışma arkadaşlarına teslim etmeden önce verileri temizlemek için (cleanup.sh adlı bir betik kullanarak) bazı betikleri manuel olarak çalıştırıyordun. Bu tür görevler arttıkça, her şeyi elle çalıştırmaya yetişmenin — hatalar veya yeniden denemelerle uğraşmayı saymıyoruz bile — zorlaştığını fark ettin. Basit bir betiği bir Airflow operatörü olarak uygulamak istiyorsun.
Airflow dag ve task nesneleri zaten içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Apache Airflow’a Giriş
Egzersiz talimatları
- Görevi tanımlamak için
@task.bashdekoratörünü kullan. - Yöntem adı olarak
cleanup_taskkullan. - Görevin
cleanup.shdöndürmesini sağla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
@dag(
dag_id='analytics_dag',
start_date=datetime(2026,1,1)
)
def analytics_dag():
# Specify a Bash task
@____
def ____():
return '____'
# Run the task
cleanup_task()
analytics_dag()