[Airflow] 개념정리02. –

프로젝트를 진행하면서 정리한 내용입니다.

사실은 다를 수 있습니다.

오류가 있으면 댓글로 알려주세요.

Airflow Dag를 처음 만들었을 때 헷갈렸던 부분이 있었습니다.

작업 및 운영자 전용.

많은 참고 자료에서 작업과 연산자가 혼동되어 원래 개념을 이해하기 어려웠습니다.

아래 코드를 확인해보면 작업 이름이 “update_start”이고 그 안에 BashOperator가 정의되어 있는 것을 확인할 수 있습니다.


우선, Task is in Airflow 기본 실행 단위“DAG에서 실행할 작업의 순서를 표현하기 위해 존재하는 실행 단위”입니다.

이때, 운영자~이다 DAG 및 작업의 빠른 생성을 위한 사전 정의된 작업 템플릿오전.

작업자와 같은 수준에는 센서와 데코레이터가 있습니다.

센서~이다 특정 작업이 수행되었는지 여부를 확인하는 데 사용되는 작은 특수 연산자하다.

데코레이터“@task”로 사용됩니다.
작업자가 이전에 정의한 작업너는 추측 할 수있다.

즉, Operator의 입장에서 Task는 Task의 올바른 실행을 보장하기 위한 Operator의 Wrapper 또는 Manager이며 사용자는 Operator의 활용을 통해 수행되는 작업에 집중하고 Airflow는 올바르게 수행할 수 있는 작업을 통해 작업을 관리합니다.
.

운영자

  • 단일 작업을 수행하는 데 사용됩니다.
    • Bash(Bash 스크립트 실행), Python(Python 기능 실행)과 같은 일반적인 작업을 실행합니다.
    • 다음과 같은 특수 작업을 수행합니다.
      B. 이메일(이메일 전송용) 및 simpleHTTP(HTTP 엔드포인트 호출).
    • DAG는 여러 연산자의 실행을 오케스트레이션하는 역할을 합니다.
      • 연산자 시작 및 중지, 연산자 완료 시 다음 순차 작업 시작, 연산자 간의 종속성 보장.

bash 연산자

: bash 셸 스크립트를 실행하는 연산자입니다.

  • Linux 명령 및 프로그램을 실행할 수 있습니다.
# airflow.operators.bash

class BashOperator(
	bash_command: str,
   	env: Optional(Dict(str, str)) = None,
   	output_encoding: str = "utf-g",
   	skip_exit_code: int = 99,
	cwd: str = None,
	**kwargs)
유형 기본 내용 설명
bash_operator 거리 실행할 Bash 명령
아마도 선택 사항(받아쓰기(str, str)) 없음 dict 형식으로 환경 변수 전달
output_encoding 거리 “utf-8” bash 명령 출력을 위한 인코딩 방법
skip_exit_code 내부 99 명령의 결과인 exit_code로 성공을 확인합니다.

없음의 경우 0 이외의 값은 오류로 간주됩니다.
cwd 거리 없음 명령이 실행되는 경로를 지정합니다.

없는 경우 임시 경로에서 실행합니다.
proside_context 부울 잘못된 true로 설정하면 태스크 인스턴스의 속성을 kwargs로 사용할 수 있습니다.

BashOperator에 정의되어 있습니다.


참조

https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/tasks.html

작업 – Airflow 설명서

airflow.apache.org

airflow.operators – 기류 문서(apache.org)

airflow.operators – 기류 문서

airflow.apache.org

AirFlow Operators 정보(bearpooh.com)