Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
El trabajo de Apache Airflow funciona con Apache Airflow.
Un paquete de Python le permite organizar módulos de Python relacionados en una sola jerarquía de directorios. Normalmente, un paquete se representa como un directorio que contiene un archivo especial denominado init.py. Dentro de un directorio de paquetes, se pueden tener varios archivos de módulos de Python (archivos.py) que definen funciones, clases y variables. Con los trabajos de Apache Airflow, puede desarrollar sus propios paquetes privados para agregar operadores, hooks, sensores, complementos personalizados y mucho más.
En este tutorial, creará un operador personalizado sencillo como paquete de Python, lo agregará como requisito en el trabajo de Apache Airflow e importará el paquete privado como módulo en el archivo DAG.
Desarrollo de un operador personalizado y prueba con un dag de Apache Airflow
Cree un archivo llamado
sample_operator.pyy créelo en un paquete privado. Si necesita ayuda, consulte esta guía: Creación de un paquete 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 messageA continuación, cree un archivo DAG de Apache Airflow llamado
sample_dag.pypara probar el operador que realizó en el primer paso.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") taskConfigura un repositorio de GitHub con el archivo
sample_dag.pyen la carpetaDags, junto con el archivo de paquete privado. Puede usar formatos comozip,.whlotar.gz. Coloque el archivo en la carpeta "Dags" o "Plugins", lo que mejor se adapte. Conecte el repositorio de Git al trabajo de Apache Airflow o pruebe el ejemplo listo en Install-Private-Package.
Agregar el paquete privado como requisito
Agregue el paquete bajo Airflow requirements usando el formato /opt/airflow/git/<repoName>/<pathToPrivatePackage>.
Por ejemplo, si el paquete privado se encuentra /dags/test/private.whl en el repositorio de GitHub, solo tiene que agregarlo /opt/airflow/git/<repoName>/dags/test/private.whl al entorno de Airflow.