드디어 ETL 프로젝트 포스팅 마지막 !! 우리가 만든 Airflow DAG의 작업 실행 과정과 성능을 확인하기 위해서는 모니터링이 필요하다. prometheus, Grafana 다양한 메트릭을 수집하고 이를 한 눈에 볼 수 있게 시각화 해주는 오픈소스 모니터링 툴이다. 이를 활용하여 Airflow 모니터링 대시보드까지 구축해보자 📈 목차 📋 1. Airflow Monitoring Diagram 2. Enabling statsd metrics on Airflow 3. Converting statsd metrics to Prometheus metrics 4. Collecting metrics using Prometheus 5. Displaying metrics in Grafana 1. Airflow Mon..
데이터
이번 포스팅에서는 slack sdk와 airflow을 활용하여 slack 봇을 만드는 과정을 설명해보겠습니다. 🤖 목차 - Slack Bot 만들기 - Airflow와 slack sdk 를 활용하여 개발 행사 및 공모전 정보 알람 받기 airflow는 배치 스케줄로 돌아가는 task를 관리할 수 있기 때문에 알람 기능에 적용한다면 편리하게 특정 task를 모니터링 할 수 있다. ETL 작업을 수행하는 DAG에 slack알림 기능을 적용하여, 매일 새로운 개발행사, 공모전 소식을 받을 수 있는 서비스를 만들어보자! 개발환경 OS : ubuntu 22.04 Python 3.11 Airflow 2.3.0 1. 🤖 Slack Bot 만들기 1-1. Slack App install & bot token 부여 받기..
저번주에 학습한 이론, 예제를 바탕으로 공모전 대회 정보를 수집하는 ETL 파이프라인을 구축해보겠습니다.🔧 개발환경 OS : ubuntu 22.04 Python 3.11 Airflow 2.3.0 1. Amazon S3 생성 버킷 내의 폴더 구성은 dag 파일을 올려두는 dags, 데이터를 저장하는 data로 구성하였다. 2. AWS EC2 환경 셋업 # Virtualenv 패키지 설치 sudo apt-get install virtualenv #가상환경 폴더 생성 virtualenv {가상환경폴더이름} #가상환경 실행 source {가상환경폴더이름}/bin/activate # python, 필요 라이브러리 설치 # 파이썬 3.11 설치 sudo apt-get install python3.11 # pip 설..
목차 1. Apache airflow 개념 2. Airflow dask relationship branch 예제 3. Airflow ML 예제 I. Apache Airflow란? workflow management tool로, 여기서 workflow란 ETL과 같은 작업의 흐름을 말한다. 즉, 이러한 workflow들을 작성, 스케줄링, 모니터링하면서 관리해주는 툴이다. Airflow의 각 components 들의 아키텍처는 다음과 같다. Airflow Webserver airflow 웹 서버는 UI를 통해 airflow의 로그를 보여주거나 스케줄러에 의해 생성된 DAG (Directed Acyclic Graph) 목록, Task상태를 시각화하여 보여준다. Airflow Scheduler airflow ..