Jaa


Yksityisen paketin asentaminen vaatimuksena tietotyönkuluissa

Muistiinpano

Tietojen työnkulut toimii Apache Airflow'lla.
Apache Airflow on avoimen lähdekoodin ympäristö, jolla voit ohjelmallisesti luoda, ajoittaa ja valvoa monimutkaisia tietotyönkulkuja. Sen avulla voit määrittää joukon tehtäviä, joita kutsutaan operaattoreiksi ja jotka voidaan yhdistää suunnattuihin asyklisiin kuvaajiin (DAG), jotka edustavat tietoputkia.

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. Tietotyönkulkujen kontekstissa voit luoda paketteja mukautetun koodin lisäämiseksi.

Tämä opas sisältää vaiheittaiset ohjeet (Wheel)-tiedoston asentamiseen .whl . Tiedosto toimii Python-paketin binaarijakaumamuodossa tietojen työnkuluissa.

Havainnollistamista varten luon yksinkertaisen mukautetun operaattorin Python-pakettina, joka voidaan tuoda moduulina dag-tiedoston sisälle.

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
    
    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 tietotyönkulkujen kanssa tai käytä esimääritettyä säilöä (Install-Private-Package)[https://github.com/ambika-garg/Install-Private-Package-Fabric]

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: Tietotyönkulun luominen