새소식

[5분 내로] 강의실/📋 Airflow 도입하기

🏅5분 내로 Airflow에 대해 살짝 알아보자!

  • -
728x90

🔥 Airflow를 왜 쓰나요?

👉 Airflow를 설명하기 전에 이걸 어디에다 쓰는건지 알아보겠습니다.

Airflow의 기능을 5%만 사용하는 수준인데, 일단 리눅스 크론탭의 UI 버전으로 써먹을 수 있습니다.

Airflow에 스케줄러 기능과 함께 리눅스 명령어 즉 쉘 스크립트죠. 그것을 실행하는 기능이 있기 때문입니다.

HA 즉, 이중화 구성도 가능하고 기본적으로 webserver가 제공되므로, 외부 서버에서 Airflow의 TASK를 강제로 실행하는 것이 가능합니다. 아무튼, 초초초 업그레이드 된 크론탭.. 저의 회사에서는 이런 용도로 쓸 예정입니다.

 

두번째로는 Airflow의 본래 목적인 파이프라인 구축입니다.

데이터 엔지니어링이라는 직업을 가진 분들이 다루는 것으로

예를들어, 인공지능 모델 학습을 위해선 데이터를 잘 모으는 것은 필수불가결한 작업입니다.

<< 잘 생각해봅시다. 과연 운전자들은 STOP 표지판에서 멈출까요?? >>

근데 막상 해보면 아시겠지만, 데이터를 잘 모으는 것 = 수집하는 것은 보통 일이 아닙니다. 데이터도 TB급이고, 일론머스크가 말했던 것처럼 무식하게 모으는 것 뿐 아니라 유효성 검증 그리고 정제하는 것도 중요합니다. ※ 데이터를 정제하는 것이 if문 1~2개로 끝날리가 없겠죠. 오히려 수백개의 TASK가 되지 않으면 다행입니다.

 

Airflow는 여기서 진가를 나타냅니다.

Airflow는 여기저기서 데이터를 수집 -> 데이터 처리하는 일련의 과정을 극한의 자유도로 구축해낼 수 있습니다.

🔥 Airflow에 대해 알아보자

👉 Airflow란?

배치 워크플로우 개발을 위한 오픈 소스 플랫폼입니다.
라고 하면 감이 안오실 것 같아 용어 정리를 더 해보겠습니다.

👉  워크 플로우란?
= 작업 절차. 작업 절차를 떠올리신다면 옳습니다.
어렵게 생각할 필요 없이, 고객이 짜장면을 시키려고 전화한다 -> 짜장면집 싸장님이 전화를 받는다 -> 고객이 먹고 싶은거 말한다 -> 싸장님은 감삼다! 라고 하며 음식을 준비한다. 뭐 이런 일련의 과정을 말하는 것이죠.

 

다음으로는 배치입니다.

 

👉  배치란?
데이터를 실시간으로 처리하는게 아니라, 일괄적으로 모아서 한번에 처리하는 작업을 의미합니다.
보통 새벽에 실행하며, 대량의 데이터를 처리하는 것을 의미하죠.

Airflow를 사용하기 전 주의사항

👉 Airflow를 담당하는 사람은 반드시 개발자여야 함

아마, Airflow의 철학이 워크 플로우를 코드로 만든다는 것이기 때문으로 보입니다.

실제로 DAG를 만들 때, 파이썬 언어에 익숙하지 않으면 작업이 안되실 것입니다.

이 내용은 코딩보다 클릭을 선호한다면 나 쓰지마셈! 이라고 공식 홈페이지에도 나와있습니다.

 

👉 Airflow의 장점은?

워크 플로우를 코딩을 할 수 있다는 것입니다. 코딩만 잘하면, 극한의 커스터마이징도 가능하다는 의미이니까요. 때론, 상상도 못할 복잡한 파이프라인도 구성할 수 있습니다. 그리고 무엇보다 Airflow는 작업 실패 시, 재시도를 하거나 로그를 남기는 기능이 잘 되어 있습니다. 운영적인 측면으로 보았을 때 안전성이 높은 것이죠.

👉 Airflow를 사용하기 위해 미리 공부해야할 것은?

Python 언어입니다. 현시점에서 Airflow 워크플로우는 Python 코드로 제작됩니다.

따라서, Python에 대한 지식이 없다면 Airflow를 다루는 것은 불가능해보입니다.
일본에선 일본어를 쓰듯 Airflow의 세계에선 Python을 사용하는 것이 좋은 것이죠.

🧙 Airflow를 설치하기 전 알면 좋은 내용들

본격적인 설치에 앞서, 꼭 알아야하는 정보를 공유드립니다.

 

👉  Airflow버전이 두개네요? 1을 설치해야되나요? 2를 설치해야되나요?
무조건 Airflow2.0를 설치하셔야 합니다. Airflow 1.0은 이제 지원이 중단되었습니다. 기존에 이미 구축한거면 모르겠는데, 그게 아니라면 1버전은 이젠 쓰시면 안됩니다.

👉  Airflow를 설치할 땐, pip 명령어만 사용해야 되나요?
네. pip 명령어만 사용해야합니다. 파이썬에선 남들이 만들어둔 라이브러리 설치할 때 pip 명령어를 사용하죠. peom, pip-tools 같은 것도 있는데 Airflow 설치하실 때는 사용하시면 안됩니다.

 

그런 것을 사용한다는 것은 아나콘다가 득실거리는 강에 맨몸으로 수영하겠다는 것과 같습니다.

Airflow를 만든 사람도 이렇게 언급하였습니다.
"아 물론, 팔다리가 멀쩡하게 강을 잘 건널 수도 있죠!"

 

아무튼 다음 포스팅은 Airflow를 본격적으로 설치를 진행해보겠습니다!

 

 

If I was of any help to you, please buy me coffee 😿😢😥

If you have any questions, please leave them in the comments

[2] reference : https://airflow.apache.org/docs/apache-airflow/stable/start.html

[3] Ads : https://play.google.com/store/apps/details?id=io.cordova.seoulfilter

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.