[Airflow] Web UI 사용하기 및 DAG 등록하기

hwwwa·2023년 3월 30일
0

🪁 Airflow

목록 보기
3/3

🎨 Airflow Web UI 사용하기

  • NHN Cloud 인스턴스에서 airflow를 구성하였다면 NHN Cloud 사이트의 Network - Security Groups 탭에서 사용중인 보안그룹에 Airflow 웹 서버를 띄운 포트를 열어주어야 함 (현재 8080)

  • <인스턴스IP주소>:8080 으로 접속

    • 최초 로그인 정보는 airflow / airflow
  • DAGs 페이지에 여러 예제 DAG들이 등록되어 있는 것을 볼 수 있음

  • 타임존 변경하기

사용자 생성

  • 기본 사용자로 등록된 airflow 계정 외에 다른 사용자 계정이 필요하다면 사용자 생성을 해줄 수 있음
  • Web UI에서 사용자를 추가하는 방법
  • 커맨드로 생성하는 방법
# 사용자 생성
airflow users create \
  --username admin \
  --firstname inhwa \
  --lastname jo \
  --role Admin \
  --email inhwa.jo@nhn.com
Password: airflow!@#123

✍️ DAG 작성하기

from airflow import DAG
from datetime import datetime, timedelta
from airflow.operators.bash import BashOperator
from airflow.operators.python import PythonOperator
from airflow.utils.dates import days_ago

default_args = {
    'start_date': days_ago(1),
}

dag = DAG(
	# firstDAG_test는 DAG의 이름. unique한 값을 가져야 함
    'firstDAG_test',
    # dag에서 사용할 기본적인 파라미터 값. 위에서 정의한 내용의 일부를 사용
    default_args=default_args,
    # DAG가 언제 실행될지 설정. "@once" : 한 번만 실행
    schedule_interval="@once",
)

def Hello_airflow():
    print("Hello airflow")

t1 = BashOperator(
    task_id='bash',
    bash_command='echo "Hello airflow"',
    dag=dag,
)

t2 = PythonOperator(
    task_id='python',
    python_callable=Hello_airflow,
    dag=dag,
)

t1 >> t2
  • DAG 코드에 에러가 없다면 정상적으로 등록되며 webserver에서 확인 가능
  • 등록된 DAG 목록 확인하기
airflow dags list

🛠 DAG 실행하기

  • Web UI에 접속하여 refresh 버튼을 눌러주면 생성한 DAG를 확인할 수 있음
  • 생성한 DAG 왼쪽의 on/off 토글을 눌러 DAG를 실행

    • DAG가 정상적으로 실행되고 나면 위 사진과 같은 초록색 원 확인 가능
  • DAG 이름인 firstDAG_test를 눌러 세부 정보 확인 가능

    • DAG가 실행된 시간, 종료된 시간, 걸린 시간 확인 가능
    • 총 태스크는 2개이며, BashOperator 태스크 1개와 PythonOperator 태스크 1개로 이루어져있음을 확인 가능
  • task를 눌러 각 task의 세부 정보와 실행 log를 확인 가능

  • Graph를 누르면 DAG의 동작 순서 또한 확인 가능


참고자료

0개의 댓글