1. DAG 만들기
▪ VScode 열고 [New Folder]를 클릭해서 "dags"라는 폴더 생성
▪ [New File]을 클릭해서 dags 폴더 안에 "dags_bash_operator.py"라는 파일 생성
▪ 그 다음 BashOperator로 구성된 예제 DAG 작성하고 저장
from airflow import DAG
from airflow.operators.bash import BashOperator
import datetime
import pendulum
with DAG(
dag_id="dags_bash_operator",
schedule="0 0 * * *",
start_date=pendulum.datetime(2023, 11, 17, tz="Asia/Seoul"),
catchup=False,
) as dag:
bash_t1 = BashOperator(
task_id="bash_t1",
bash_command="echo whoami",
)
bash_t2 = BashOperator(
task_id="bash_t2",
bash_command="echo $HOSTNAME",
)
bash_t1 >> bash_t2
2. Git Push
▪ 작성한 파일을 Git Push
git add . # 모든 변경사항을 추가
git commit -m "dags_bash_operator upload"
git push
3. 서버환경에 Pull
▪ VM instance에 접속한 뒤, AirflowProject로 이동하여 git pull
cd AirflowProject
git pull
▪ dags 폴더로 이동해 확인해 보면 정상적으로 파일이 생성됨
cd dags
ls -al
4. Dag이 존재하는 폴더를 Airflow에 연결하기
▪ home directory로 이동한후 vi 편집기를 사용하여 docker-compose.yaml 파일 열기
cd # home directory로 이동
vi docker-compose.yaml # vi 편집기로 yaml 파일 열기
▪ 아래로 내리다보면 voulmes 항목이 있는데, 이는 서버의 디렉토리와 컨테이터의 디렉토리를 매핑 해주는 부분
▪ ":" 을 기준으로 왼쪽이 서버의 볼륨이고 오른쪽이 도커 컨테이너의 볼륨
▪ 해당 부분을 dag이 존재하는 디렉토리로 변경, 수정은 i를 누르면 할 수 있음, 수정 후 esc
▪ 수정이 완료되었으면 ":wq!" 입력해서 쓰고 나가기
5. Airflow 접속해서 dag 확인
▪ Airflow 서비스 올린 후에 webserver에 접속해서 확인해보면 dag이 정상적으로 올라갔음
참고:
Airflow 마스터 클래스 강의 - 인프런
데이터 파이프라인을 효율적으로 만들고 관리하기 위한 Orchestration 도구인 Airflow에 대해 배우는 강의입니다. 초보자도 차근차근 배울 수 있는 Airflow 마스터 클래스, 환영합니다!, 데이터 파이프
www.inflearn.com
'Data Engineering > Airflow' 카테고리의 다른 글
[Airflow] Cron 스케줄 (0) | 2024.01.16 |
---|---|
[Airflow] Postgres 컨테이너 설치 및 network 설정 (0) | 2024.01.05 |
[Airflow] Local에 Airflow library 설치 (1) | 2024.01.04 |
[Airflow] 개발환경구성 (Github 설정) (0) | 2024.01.03 |
[Airflow] 개발환경구성 (VScode 설치) (1) | 2024.01.03 |