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 설치하기 [설치..
[설치 환경] Mac OS M1 Docker version 25.0.3 Airflow 2.8.3 상황 docker compose up 명령어로 airflow 서비스를 실행하려고 하니 오류가 났다. airflow-init-1 | airflow already exist in the db airflow-init-1 | 2.8.3 airflow-init-1 exited with code 0 Gracefully stopping... (press Ctrl+C again to force) Error response from daemon: driver failed programming external connectivity on endpoint statground-airflow-webserver-1 (72d0138e8..
[설치 환경] Mac OS M1 Docker version 25.0.3 Airflow 2.8.3 Visual Studio Code 1.74.2 Python 3.8.10 파이썬으로 만들어진 Airflow의 DAG 개발을 하기 위해서는 다양한 클래스파일이 있는 Airflow 라이브러리가 필요하다. 지난번에 만든 로컬 컴퓨터의 파이썬 가상환경(venv)에 라이브러리를 설치해준다. * pip install로 Airflow를 설치할 수 있지만 Docker로 설치한 이유 파이썬 Airflow 라이브러리 설치시 저사양의 아키텍처로 설치되고 여러 제약이 존재한다. (한번에 1개의 task만 실행 가능, 메타DB를 저사양 DB인 SQLite를 기본적으로 사용) 01. git repository 생성하기 github에 들..
airflow 라이브러리를 설치하던 중 오류가 났다. ERROR: Command errored out with exit status 1: command: /Users/hyeonjiwon/Documents/Study/Data_Engineering/airflow/.venv/bin/python3.8 /Users/hyeonjiwon/Documents/Study/Data_Engineering/airflow/.venv/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/72/4tbcjpv5013fmjgcsm38v5340000gn/T/tmp25qgbt8f cwd: /private/var/fold..
[설치 환경] Mac OS M1 Docker version 25.0.3 01. docker-compose.yaml 파일을 fetch 받기 airflow docker install 검색 도커로 airflow를 설치하는 가이드 문서 https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html docker compose는 한 개 이상의 컨테이너를 다루게 될 때 컨테이너에 대한 설정 내용을 docker-compose.yaml 스크립트 하나로 관리한다. docker-compose.yaml 파일을 fetch 받는다. curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2...