Operatorul HITL

Introducere în Apache Airflow în Python

Mike Metzger

Data Engineer

Human-In-The-Loop?

  • Fluxurile de lucru actuale rulează automat, de la început până la final
  • Unele probleme (erori, notificări etc.) pot fi gestionate cu opțiunile existente
  • Nu se pot „verifica dublu" situații îngrijorătoare sau detalii foarte importante
  • Operatorii Human-In-The-Loop permit adăugarea interacțiunii umane în fluxurile active

Fotografie a unei persoane care scrie cod la calculator

Introducere în Apache Airflow în Python

Operatori diferiți

  • HITL este o clasă de operatori
  • Operatori diferiți oferă interacțiuni diferite
  • 4 tipuri de operatori HITL
Introducere în Apache Airflow în Python

Operatori HITL

  • HITLOperator: Clasa de bază pentru toți operatorii HITL. Pune sarcina în stare amânată, eliberând sloturi de lucru cât timp așteaptă un răspuns.
  • HITLBranchOperator: Utilizat pentru decizii manuale care determină calea DAG-ului pentru sarcinile ulterioare.
  • HITLEntryOperator: Permite utilizatorilor să furnizeze date structurate printr-un TriggerForm, validate și stocate în XCom pentru sarcinile următoare.
  • ApprovalOperator: Operator specializat care prezintă utilizatorului o alegere simplă: „Aprobare" sau „Respingere".
Introducere în Apache Airflow în Python

ApprovalOperator

  • from airflow.providers.standard.operators.hitl import ApprovalOperator
  • Atribute:
    • subject - Subiectul / titlul aprobării
    • body - Conținutul mesajului
    • execution_timeout - timedelta pentru timpul de așteptare a răspunsului
    • defaults - Dacă se implicite aprobare sau respingere la timeout
    • assigned_users - Lista utilizatorilor cărora li se trimite mesajul
Introducere în Apache Airflow în Python

Exemplu ApprovalOperator

approve_gate = ApprovalOperator(
        task_id="approve_data_import",
        subject="Data import - Approval Required",
        body=(
            "Please review the data produced by the *extract_info* task."
            "Approve to write data to the database, or Reject to halt the run."
        ),
    )
Introducere în Apache Airflow în Python

ApprovalOperator în interfața Airflow

În vizualizarea rulării DAG, apare o secțiune RequiredActions dacă o sarcină care necesită aprobare este în așteptare.

Vizualizarea rulării DAG în Airflow cu o sarcină în stare „Aprobare necesară"

Introducere în Apache Airflow în Python

Pagina de start ApprovalOperator

Pagina de start Airflow cu secțiunea Acțiuni necesare

Introducere în Apache Airflow în Python

Mesajul ApprovalOperator în interfața Airflow

Interfața Airflow cu mesaj de aprobare și opțiunile Approve și Reject

Introducere în Apache Airflow în Python

Să exersăm!

Introducere în Apache Airflow în Python

Preparing Video For Download...