Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Apache Airflow Job est alimenté par Apache Airflow.
Un package Python vous permet d’organiser les modules Python associés en une seule hiérarchie de répertoires. Un package est généralement représenté sous la forme d’un annuaire qui contient un fichier spécial appelé init.py. Dans un répertoire de package, vous pouvez avoir plusieurs fichiers de module Python (fichiers.py) qui définissent des fonctions, des classes et des variables. Avec Apache Airflow Jobs, vous pouvez développer vos propres packages privés pour ajouter des opérateurs Apache Airflow personnalisés, des hooks, des capteurs, des plug-ins, etc.
Dans ce tutoriel, vous allez créer un opérateur personnalisé simple en tant que package Python, l’ajouter comme condition requise dans votre travail Apache Airflow et importer votre package privé en tant que module dans votre fichier DAG.
Développer un opérateur personnalisé et tester avec un Dag Apache Airflow
Créez un fichier appelé
sample_operator.py
et transformez-le en package privé. Si vous avez besoin d’aide, consultez ce guide : Création d’un package en pythonfrom 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
Ensuite, créez un fichier DAG Apache Airflow appelé
sample_dag.py
pour tester l’opérateur que vous avez effectué à la première étape.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
Configurez un dépôt GitHub avec votre fichier
sample_dag.py
dans le dossierDags
, ainsi que votre fichier de package privé. Vous pouvez utiliser des formats tels quezip
,.whl
outar.gz
. Placez le fichier dans le dossier « Dags » ou « Plugins », selon ce qui convient le mieux. Connectez votre dépôt Git à votre travail Apache Airflow ou essayez l’exemple prêt à l’emploi dans Install-Private-Package.
Ajouter votre package privé en tant qu’exigence
Ajouter le package sous Airflow requirements
en utilisant le format /opt/airflow/git/<repoName>/<pathToPrivatePackage>
Par exemple, si votre package privé se trouve /dags/test/private.whl
dans votre dépôt GitHub, ajoutez simplement /opt/airflow/git/<repoName>/dags/test/private.whl
à votre environnement Airflow.