티스토리 뷰
Airflow란?
- Apache Airflow는 초기 에어비엔비(Airfbnb) 엔지니어링 팀에서 개발한 워크플로우 오픈 소스 플랫폼
** 워크플로우란? : 의존성으로 연결된 작업(Task)들의 집합
(ex) ETL의 경우 Extractaction > Transformation > Loading 의 작업의 흐름 - 프로그래밍 방식으로 워크플로우를 작성, 예약 및 모니터링
설치
dependency 문제가 많으므로 virtualenv에 설치하는 것을 추천한다.
pip install apache-airflow
실행
원하는 위치에서
airflow initdb
따로 설정 없이도 홈 디렉토리의 airflow 디렉토리에 airflow db파일이 생성된다.
127.0.0.1:8080 접속 시 initialize가 제대로 된 것을 확인할 수 있다.
데이터베이스 연결
`airflow.cfg` 파일에 sql_alchemy_conn 변수 값을 (원한다면) sqlite에서 postgresql 로 바꿔준다.
psycopg2가 없다면 설치해준다.
sql_alchemy_conn = postgresql+psycopg2://airflow_user:airflow_password@localhost/airflow_db
pip install psycopg2 # [Optional]
format: dialect+driver://username:password@host:port/database_name