Huomautus
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
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
Luo tiedosto nimeltä
sample_operator.py
ja muuta se yksityiseksi paketiksi. Jos tarvitset apua, tutustu tähän oppaaseen: Paketin luominen Pythonissafrom 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
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
Määritä GitHub-säilö, jossa tiedosto on
sample_dag.py
kansiossaDags
, sekä yksityinen pakettitiedosto. Voit käyttää muotoja, kutenzip
,.whl
taitar.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.