데이터를 기반으로

Airflow 개념 및 설치 본문

스터디/Apache Airflow

Airflow 개념 및 설치

이노후 2023. 3. 24. 15:38
728x90
반응형

[ Airflow 살펴보기 ]

Airflow란, 워크플로우를 개발하고 모니터링하기 위한 오픈 소스 솔루션 이다.

 

Airflow의 기능 중 스케줄링과 데이터 파이프라인 관리 등이 존재한다.

 

그 중 파이프라인에 대한 부분에 간단한 예시가 있다.

 

목적 : 실시간 날씨 데이터를 대시보드에 보여주고 싶다.

 

위와 같은 목표를 실행하기 위해 각각 세분화된 프로세스를 나누어야한다.

 

1.  먼저 날씨 API를 통해 일기 예보 데이터를 가져온다.

2. 서비스 목적에 맞도록 데이터를 정제하거나 변환한다.
    (예. 온도를 화씨에서 섭씨로 변환)

3. 변환된 데이터를 날씨 대시보드로 전송한다.

 

이렇게 3가지의 프로세스(이후에는 task라고 지칭함)를 나눠 각각 실행하며, 오류를 관리할 수 있도록 할 수 있는게 airflow의 파이프라인 관리 부분이다.

 

[ Airflow 설치 ]

설치환경 : Mac OS

 

명령어 : python3 -m venv {경로}/{venv 이름}

             예시) python3 -m venv /Users/yooinho/Desktop/study/00.airflow/my_venv 

 

명령어 : export airflow={airflow 관련 파일 홈 디렉토리}

             예시) export airflow=/Users/yooinho/Desktop/study/00.airflow/home

 

명령어 : source {venv 경로}/bin/activate

             예시) source /Users/yooinho/Desktop/study/00.airflow/my_venv/bin/activate

 

명령어 : pip install "apache-airflow[celery]==2.3.0" -- constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.0/constraints-3.7.txt"

 

명령어 : airflow db init

 

명령어 : airflow users create -e {이메일} -f {firstname} -l {lastname} -p {password} -r Admin -u {userid}

 

명령어 :airflow webserver

 

위 명령어들을 실행하고 나니

 

 Remove Permission to Role Error: DELETE statement on table 'ab_permission_view_role' expected to delete 1 row(s); Only 0 were matched.

 

해당 오류가 발생했다. 물론, web에 접속은 가능하지만 오류를 해결하기 힘들었다.

 

버전 오류라는 이야기들이 많아 pip 로 새로 airflow를 설치했다.

 

명령어 : pip install apache-airflow

 

설치 후, airflow db init 부터 다시 실행하니 제대로 접속 된 것을 확인할 수 있었다.

 

728x90
반응형

'스터디 > Apache Airflow' 카테고리의 다른 글

Airflow Webserver 실행안될 때  (0) 2023.06.02
Airflow Local Path 관련 이슈 정리  (1) 2023.05.10
Operator 파악하기  (0) 2023.05.01
Airflow DAG 와 실행 개념  (0) 2023.04.07
Apache Airflow 스터디 시작  (0) 2023.03.24