Airflow Sensors

Python में Apache Airflow परिचय

Mike Metzger

Data Engineer

Sensors

  • एक ऑपरेटर जो किसी शर्त के सही होने तक इंतज़ार करता है
    • किसी फ़ाइल का बनना
    • किसी डेटाबेस रिकॉर्ड का अपलोड होना
    • वेब रिक्वेस्ट से रिस्पॉन्स आना
  • यह तय कर सकते हैं कि शर्त कितनी बार जाँची जाए
  • टास्क्स को असाइन किया जाता है

Airflow सेंसर का चित्र, जो किसी शर्त के सही होने का इंतज़ार कर रहा है

Python में Apache Airflow परिचय

Sensor details

  • airflow.sdk.BaseSensorOperator से व्युत्पन्न
  • सेंसर आर्ग्युमेंट्स:
  • mode - शर्त कैसे जाँची जाए
    • mode='poke' - डिफ़ॉल्ट, बार-बार चलाएँ
    • mode='reschedule' - टास्क स्लॉट छोड़ें और बाद में फिर कोशिश करें
  • poke_interval - जाँचों के बीच इंतज़ार का अंतराल
  • timeout - फेल होने से पहले कितनी देर तक इंतज़ार करें
  • सामान्य ऑपरेटर एट्रिब्यूट्स भी शामिल हैं
Python में Apache Airflow परिचय

File sensor

  • airflow.providers.standard.sensors लाइब्रेरी का हिस्सा है
  • किसी लोकेशन पर फ़ाइल की मौजूदगी चेक करता है
  • किसी डायरेक्टरी में कोई फ़ाइल है या नहीं, यह भी चेक कर सकता है
from airflow.providers.standard.sensors.filesystem import FileSensor

file_sensor_task = FileSensor(task_id='file_sense',
                              filepath='salesdata.csv',
                              poke_interval=300,
                              timeout=3000
                              )

init_sales_cleanup() >> file_sensor_task >> generate_report()
Python में Apache Airflow परिचय

Other sensors

  • airflow.providers.*.sensors में और भी कई
  • ExternalTaskSensor - दूसरे Dag के टास्क के पूरा होने तक इंतज़ार करें
  • HttpSensor - वेब URL रिक्वेस्ट भेजें और कंटेंट चेक करें
  • SqlSensor - कंटेंट चेक करने के लिए SQL क्वेरी चलाता है
Python में Apache Airflow परिचय

When to use sensors?

  • जब यह निश्चित न हो कि शर्त कब सही होगी
  • जब तुरंत फेल करना न चाहें
  • बिना लूप के टास्क रिपीटेशन जोड़ें

 

 

Airflow सेंसर का चित्र, जो किसी शर्त के सही होने का इंतज़ार कर रहा है

Python में Apache Airflow परिचय

अभ्यास करते हैं!

Python में Apache Airflow परिचय

Preparing Video For Download...