에어플로우

기타/Airflow

[Airflow] Airflow Executor 변경을 통한 Task 병렬화

에어플로우에서는 간단하게 파이프라인을 병렬 구조로 구현할 수 있습니다. 예시로 병렬 파이프라인을 하나 만들어 보도록 하겠습니다. t1 >> [t2, t3] t2 >> t4 t3 >> t5 task의 간단한 연결 만으로도 파이프라인 구조를 병렬로 구현하는 것을 확인할 수 있습니다. 다만 구조 자체는 병렬이지만, 어떠한 변경 없이는 이 task들은 하기 이미지처럼 순차적으로 처리가 됩니다. 이미지를 보시면 extract\_1, extract\_2가 병렬로 실행되어야 할 것 같지만, 1이 끝난 후 처리가 시작되는 것을 확인할 수 있습니다. savedb\_1은 extract\_2가 끝나야 실행됩니다. 이 현상이 발생하는 이유는 Executor의 설정 때문입니다. Executor는 작업 방법을 정하는 역할을 하는..

기타/Airflow

[Airflow] Airflow PostgreSQL DB 변경(For LocalExecutor)

Airflow의 메타데이터를 관리하는 DB는 기본적으로 sqlite로 설치가 되어 있습니다. 다만 에어플로우는 테스트 환경에서만 sqlite를 사용하고, 실 운영시에는 다른 DB를 사용하기를 권장하고 있습니다. 또한 에어플로우의 Defalut Executor는 Sequential Executor입니다. 이를 Local Executor 등으로 변경하기 위해서는 sqlite 외의 DB를 사용해야만 하기 때문에, 에어플로우를 사용하고자 한다면 sqlite를 변경하는 것이 좋다고 판단됩니다. 따라서 이번 게시물에서는 에어플로우에서 기존 DB인 sqlite를 postgresql로 변경하는 방법에 대해 알아보고자 합니다. 환경 테스트한 환경은 다음과 같습니다. OS : Ubuntu 18.04 DB : Postgre..

기타/Airflow

[Airflow] Airflow Slack Message 알림

패키지 설치 Airflow 작업 결과를 슬랙으로 받아보도록 하겠습니다. 우선 에어플로우가 설치된 가상환경에서 해당 패키지를 설치합니다. pip install slack_sdk 슬랙에서 APP 생성 https://api.slack.com/ 에 접속하면 앱을 생성할 수 있습니다. 앱 이름은 나중에 변경할 수 있습니다. 사용하고자 하는 워크스페이스를 설정한 후 앱을 생성합니다. 앱을 생성한 후 설정 페이지에서 좌측 중단 Feature - OAuth & Permissions를 클릭합니다. 중단 Scopes에서 chat:write 옵션을 추가합니다. 앱은 해당 옵션을 통해 메세지를 보낼 권한을 얻을 수 있습니다. 이후에는 상단의 OAuth Tokens for Your Workspace에서 Install to Wo..

기타/Airflow

[Airflow] Airflow 기본 사용 방법

데이터 수집 및 적재, 데이터 분석 등을 파이프라인으로 구현해주는 에어플로우 사용 방법에 대해 정리해보도록 하겠습니다. 설치 우선 에어플로우 설치를 진행합니다. M1, M2를 사용하는 맥북의 경우 아래 방식으로 설치를 진행합니다. https://airflow.apache.org/docs/apache-airflow/stable/installation/index.html pip install apache-airflow # MAC # 환경에 맞춰 파라미터 변경 # AIRFLOW_VERSION은 latest 가능 pip install "apache-airflow[celery]==2.4.0" --constraint "" # 예시 pip install "apache-airflow[celery]==2.4.0" --c..

새우까앙
'에어플로우' 태그의 글 목록