참고 항목
Apache Airflow 작업은 Apache Airflow에서 구동됩니다.
Python 패키지를 사용하면 관련 Python 모듈을 단일 디렉터리 계층 구조로 구성할 수 있습니다. 패키지는 일반적으로 init.py라는 특수 파일을 포함하는 디렉터리로 표시됩니다. 패키지 디렉터리 내에는 함수, 클래스 및 변수를 정의하는 여러 Python 모듈 파일(.py 파일)이 있을 수 있습니다. Apache Airflow 작업을 사용하면 사용자 지정 Apache Airflow 연산자, 후크, 센서, 플러그 인 등을 추가하는 고유한 프라이빗 패키지를 개발할 수 있습니다.
이 자습서에서는 간단한 사용자 지정 연산자를 Python 패키지로 빌드하고, Apache Airflow 작업에 요구 사항으로 추가하고, 프라이빗 패키지를 DAG 파일의 모듈로 가져옵니다.
Apache Airflow Dag를 사용하여 사용자 지정 연산자 개발 및 테스트
sample_operator.py
파일을 생성하여 프라이빗 패키지로 변경합니다. 도움이 필요한 경우 다음 가이드를 확인 하세요. python에서 패키지 만들기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
다음으로, 첫 번째 단계에서 만든 연산자를 테스트하기 위해 호출된
sample_dag.py
Apache Airflow DAG 파일을 만듭니다.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
개인 패키지 파일과 함께,
sample_dag.py
파일을Dags
폴더에 넣어 GitHub 리포지토리를 설정합니다. 또는.whl
tar.gz
.와 같은zip
형식을 사용할 수 있습니다. 가장 적합한 'Dags' 또는 '플러그 인' 폴더에 파일을 넣습니다. Git 리포지토리를 Apache Airflow 작업에 연결하거나 Install-Private-Package에서 즉시 사용할 수 있는 예제를 사용해 보세요.
요구 사항으로 패키지를 추가합니다.
Airflow requirements
아래에 패키지를 /opt/airflow/git/<repoName>/<pathToPrivatePackage>
형식으로 추가하십시오.
예를 들어 개인 패키지가 /dags/test/private.whl
GitHub 리포지토리에 있는 경우 Airflow 환경에 추가 /opt/airflow/git/<repoName>/dags/test/private.whl
하기만 하면 됩니다.