Jaa


Yksityisen paketin asentaminen vaatimuksena Apache Airflow -työssä

Muistiinpano

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

Python-paketin avulla toisiinsa liittyvät Python-moduulit voi järjestää yhden hakemiston hierarkiaan. 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 Jobin yhteydessä voit kehittää yksityisiä paketteja ja lisätä mukautettuja Apache Airflow -operaattoreita, koukkuja, tunnistimia, laajennuksia jne.

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

Kehitä mukautettu operaattori ja testaa Apache Airflow -dagilla

  1. Luo tiedosto sample_operator.py ja muunna se yksityiseksi paketiksi. Katso opas: 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 DAG-tiedosto sample_dag.py Apache Airflow, jotta voit testata vaiheessa 1 määritettyä operaattoria.

    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. Luo GitHub-säilö, joka sisältää -kansion sample_dag.py Dags ja yksityisen pakettitiedoston. Yleisiä tiedostomuotoja ovat esimerkiksi zip, .whltai tar.gz. Sijoita tiedosto joko Dags- tai Plugins-kansioon. Synkronoi Git-säilösi Apache Airflow Jobin kanssa tai voit käyttää esimääritettyä säilöäInstall-Private-Package

Paketin lisääminen vaatimuksena

Lisää paketti vaatimuksena kohtaan Airflow requirements. Käytä muotoa /opt/airflow/git/<repoName>.git/<pathToPrivatePackage>

Jos esimerkiksi yksityinen paketti sijaitsee /dags/test/private.whl GitHub-säilössä, lisää vaatimus /opt/airflow/git/<repoName>.git/dags/test/private.whl Airflow-ympäristöön.

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

Pikaopas: Apache-ilmavuotyön luominen