01. Task 연결 방법 Task 연결 방법에는 두가지 방법이 있다. 1. >>, >, > 로 task들을 연결해준다. 리스트 "[]" 로 같은 레벨의 테스크를 묶어줄 수 있다. t1 >> [t2, t3] >> t4 t5 >> t4 [t4, t7] >> t6 >> t8 dag 코드를 다 작성하고 git에 올려준다. airflow 디렉토리에서 pull 받는다. airflow 서비스를 실행시킨다. docker compose up + 파일이 바로 보이지 않는다면! dags 폴더에 스케줄러가 주기적으로 파싱을 하는데, 기본적으로 5분에 한번씩 스캔을 하기 때문에 파일이 바로 올라오지 않을 수 있다. Graph 탭에서 task의 선행-후행 관계가 잘 작성되었는지 확인할 수 있다. 참고: Airflow 마스터 클래스
01. 크론(Cron) 스케줄 유닉스 계열의 잡 스케줄러 task가 실행되어야 하는 시간(주기)를 정하기 위한 5개의 필드로 구성된 문자열 {분} {시} {일} {월} {요일} 순으로 구성 요일은 일-토요일이 0-6으로 표현 (0: 일요일, 1: 월요일, 2: 화요일, 3: 수요일, 4: 목요일, 5: 금요일, 6: 토요일) 02. 크론(Cron) 표현식 - 특수문자 * : 모든 값을 의미 ? : 특정한 값이 없음 - : 범위 지정 (ex. 월요일부터 수요일 = 1-3) , : 여러 값 지정 (ex. 월, 수, 금 = 1, 2, 3) / : 증가값 지정(시작시간 / 단위) (ex. 0분부터 매 5분 = 0/5) L : 마지막 값, 일, 요일 필드에만 사용 가능, (ex. 해당 월의 마지막일 = * * L..
01. Airflow DAG DAG - 오퍼레이터 : 특정 행위를 할 수 있는 기능을 모아 놓은 클래스 - Task : 오퍼레이터에서 객체화(인스턴스화)되어 DAG에서 실행 가능한 오브젝트 - Bash 오퍼레이터 : 쉘 스크립트 명령을 수행하는 오퍼레이터 DAG에서는 오퍼레이터를 통해 만들어진 Task들이 실행되는 것 Task는 방향성을 가지고 있고 순환되지 않는 형태로 연결되어 있음 Task의 수행 주체 - 스케줄러 : 머리역할 1. 우리가 만든 DAG 파일을 읽어 들인(파싱) 후 DB에 정보 저장 2. DAG 시작시간 결정 - 워커 : 실제 작업 수행 1. 스케줄러가 시킨 DAG 파일을 찾아 처리 2. 처리가 되기 전 후, 메타DB에 업데이트 02. DAG 작성하기 airflow 프로젝트 디렉토리에 ..
01. 도커(Docker) 설치하기 [MacOS] 개발환경 구성 - m1에 도커(Docker) 설치하기 [MacOS] 개발환경 구성 - m1에 도커(Docker) 설치하기 [설치 환경] Mac OS M1 01. 도커(Docker) 설치 아래 사이트에서 Docker Desktop for Mac with Apple silicon 선택하여 다운로드 https://docs.docker.com/desktop/install/mac-install/ Docker.dmg 실행 Docker Application 실행 후 서비스 najiwon.tistory.com 02. Airflow 설치하기 [MacOS] 개발환경 구성 - m1에 Airflow 설치하기 [MacOS] 개발환경 구성 - m1에 Airflow 설치하기 [설치..
01. Airflow 소개 - 파이썬을 이용해 워크플로우를 만들고 관리할 수 있는 오픈소스 기반 워크프로우 관리 도구 - 워크플로우를 DAG을 사용하여 정의, 관리하는 프로그램 - 자유도가 크고, 확장성이 좋음 02. Airflow 특징 - 파이썬으로 제작된 도구, 이용자가 워크플로우 생성시에도 파이썬으로 구현해야 함 - 하나의 워크플로우는 DAG(Directed Acyclic Graph)이라고 부르며 DAG 안에는 1개 이상의 Task가 존재 - Task간 선후행 연결이 가능하되 순환되지 않고 방향성을 가짐(=DAG) - Cron 기반의 스케줄링 - 모니터링 및 실패 작업에 대한 재실행 기능이 간편 03. Airflow 장점 - 파이썬에 익숙하다면 러닝 커브 빠르게 극복 가능 - 대규모 워크플로우 환경..