Jaa


Yksityisen paketin asentaminen vaatimuksena Apache Airflow -työssä

Muistiinpano

Apache Airflow -työnkulku toimii Apache Airflow'lla.

Python-paketin avulla voit järjestää toisiinsa liittyvät Python-moduulit yksittäiseksi hakemistohierarkiaksi. Paketti esitetään yleensä hakemistona, joka sisältää init.py-nimisen erikoistiedoston. Pakettihakemistossa voi olla useita Python-moduulitiedostoja (.py tiedostoja), jotka määrittävät funktioita, luokkia ja muuttujia. Apache Airflow Jobsin avulla voit kehittää omia yksityisiä paketteja, joilla voit lisätä mukautettuja Apache Airflow -operaattoreita, koukkuja, tunnistimia, laajennuksia ja paljon muuta.

Tässä opetusohjelmassa luot yksinkertaisen mukautetun operaattorin Python-pakettina, lisäät sen vaatimuksena Apache Airflow -työhön ja tuot yksityisen paketin moduulina DAG-tiedostoon.

Kehitä mukautettu operaattori ja testaa Apache Airflow -dagilla

  1. Luo tiedosto nimeltä sample_operator.py ja muuta se yksityiseksi paketiksi. Jos tarvitset apua, tutustu tähän oppaaseen: Paketin luominen Pythonissa

    from airflow.models.baseoperator import BaseOperator
    
    
    class SampleOperator(BaseOperator):
        def __init__(self, name: str, **kwargs) -> None:
            super().__init__(**kwargs)
            self.name = name
    
        def execute(self, context):
            message = f"Hello {self.name}"
            return message
    
    
  2. Luo seuraavaksi Apache Airflow DAG -tiedosto, joka on kutsuttu sample_dag.py testaamaan operaattori, jonka teit ensimmäisessä vaiheessa.

    from datetime import datetime
    from airflow import DAG
    
     # Import from private package
    from airflow_operator.sample_operator import SampleOperator
    
    
    with DAG(
    "test-custom-package",
    tags=["example"]
    description="A simple tutorial DAG",
    schedule_interval=None,
    start_date=datetime(2021, 1, 1),
    ) as dag:
        task = SampleOperator(task_id="sample-task", name="foo_bar")
    
        task
    
  3. Määritä GitHub-säilö, jossa tiedosto on sample_dag.py kansiossa Dags , sekä yksityinen pakettitiedosto. Voit käyttää muotoja, kuten zip, .whltai tar.gz. Sijoita tiedosto joko Dags- tai Plugins-kansioon sen mukaan, mikä soveltuu parhaiten. Yhdistä Git-säilösi Apache Airflow Jobiin tai kokeile valmista esimerkkiä kohdassa Install-Private-Package.

Paketin lisääminen vaatimuksena

Paketin lisääminen lle Airflow requirements käyttäen muotoa /opt/airflow/git/<repoName>/<pathToPrivatePackage>

Jos yksityinen pakettisi on esimerkiksi GitHub-säilössäsi /dags/test/private.whl , lisää /opt/airflow/git/<repoName>/dags/test/private.whl vain Airflow-ympäristöösi.

Näyttökuva, joka näyttää vaatimukseksi lisätyn yksityisen paketin.

Pikaopas: Apache-ilmavuotyön luominen