Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Bemærk
Apache Airflow-jobbet drives af Apache Airflow.
I øjeblikket understøttes private netværk og virtuelle netværk ikke med Fabric Apache Airflow-jobs.
Med en Python-pakke kan du organisere relaterede Python-moduler i et enkelt mappehierarki. En pakke repræsenteres typisk som en mappe, der indeholder en særlig fil kaldet init.py. I en pakkemappe kan du have flere Python-modulfiler (.py filer), der definerer funktioner, klasser og variabler. Med Apache Airflow Jobs kan du udvikle dine egne private pakker for at tilføje brugerdefinerede Apache Airflow-operatorer, kroge, sensorer, plugins og meget mere.
I dette selvstudium skal du oprette en simpel brugerdefineret operator som en Python-pakke, tilføje den som et krav i dit Apache Airflow-job og importere din private pakke som et modul i din DAG-fil.
Udvikl en brugerdefineret operatør, og test med en Apache Airflow Dag
Opret en fil, der kaldes
sample_operator.py, og gør den til en privat pakke. Hvis du har brug for hjælp, kan du se denne vejledning: Oprettelse af en pakke i 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 messageOpret derefter en Apache Airflow DAG-fil, der kaldes
sample_dag.pyfor at teste den operator, du foretog i det første trin.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") taskKonfigurer et GitHub-lager med din
sample_dag.pyfil iDagsmappen sammen med din private pakkefil. Du kan bruge formater somzip,.whlellertar.gz. Placer filen enten i mappen 'Dags' eller 'Plugins', alt efter hvad der passer bedst. Forbind dit Git-lager til dit Apache Airflow-job, eller prøv det færdige eksempel på Install-Private-Package.
Tilføj din pakke som et krav
Tilføj pakken under Airflow requirements ved hjælp af formatet /opt/airflow/git/<repoName>/<pathToPrivatePackage>
Hvis din private pakke f.eks. er placeret i /dags/test/private.whl dit GitHub-lager, skal du blot føje /opt/airflow/git/<repoName>/dags/test/private.whl til dit Airflow-miljø.
Installer et privat bibliotek fra mappen med dags/libs
Hvis du ikke bruger et tilsluttet Git-repository, kan du uploade en wheel-fil direkte til mappen for dags/libs dit Apache Airflow-job og referere til den som et krav. Denne tilgang kræver ikke et eksternt repository.
Upload din
.whlfil tildags/libsmappen i dit Apache Airflow-jobs fillager.Tilføj hjulfilen som et krav ved hjælp af det relative sti-format
dags/libs/<your-wheel-file>.whl.Eksempel:
dags/libs/apache_airflow_providers_microsoft_fabric-0.1.0-py3-none-any.whlGenstart dit Apache Airflow-projekt, indtil det træder i kraft.