Airflow의 기능을 5%만 사용하는 수준인데, 일단 리눅스 크론탭의 UI 버전으로 써먹을 수 있습니다.
Airflow에 스케줄러 기능과 함께 리눅스 명령어 즉 쉘 스크립트죠. 그것을 실행하는 기능이 있기 때문입니다.
HA 즉, 이중화 구성도 가능하고 기본적으로 webserver가 제공되므로, 외부 서버에서 Airflow의 TASK를 강제로 실행하는 것이 가능합니다. 아무튼, 초초초 업그레이드 된 크론탭..저의 회사에서는 이런 용도로 쓸 예정입니다.
두번째로는 Airflow의 본래 목적인 파이프라인 구축입니다.
데이터 엔지니어링이라는 직업을 가진 분들이 다루는 것으로
예를들어, 인공지능 모델 학습을 위해선 데이터를 잘 모으는 것은 필수불가결한 작업입니다.
근데 막상 해보면 아시겠지만, 데이터를 잘 모으는 것 = 수집하는 것은 보통 일이 아닙니다. 데이터도 TB급이고, 일론머스크가 말했던 것처럼 무식하게 모으는 것 뿐 아니라 유효성 검증 그리고 정제하는 것도 중요합니다. ※ 데이터를 정제하는 것이 if문 1~2개로 끝날리가 없겠죠. 오히려 수백개의 TASK가 되지 않으면 다행입니다.
Airflow는 여기서 진가를 나타냅니다.
Airflow는 여기저기서 데이터를 수집 -> 데이터 처리하는 일련의 과정을 극한의 자유도로 구축해낼 수 있습니다.
🔥 Airflow에 대해 알아보자
👉Airflow란?
배치 워크플로우 개발을 위한 오픈 소스 플랫폼입니다. 라고 하면 감이 안오실 것 같아 용어 정리를 더 해보겠습니다.
👉 워크 플로우란? = 작업 절차. 작업 절차를 떠올리신다면 옳습니다. 어렵게 생각할 필요 없이, 고객이 짜장면을 시키려고 전화한다 -> 짜장면집 싸장님이 전화를 받는다 -> 고객이 먹고 싶은거 말한다 -> 싸장님은 감삼다! 라고 하며 음식을 준비한다. 뭐 이런 일련의 과정을 말하는 것이죠.
다음으로는 배치입니다.
👉 배치란? 데이터를 실시간으로 처리하는게 아니라, 일괄적으로 모아서 한번에 처리하는 작업을 의미합니다. 보통 새벽에 실행하며, 대량의 데이터를 처리하는 것을 의미하죠.
☔ Airflow를 사용하기 전 주의사항
👉 Airflow를 담당하는 사람은 반드시 개발자여야 함
아마, Airflow의 철학이 워크 플로우를 코드로 만든다는 것이기 때문으로 보입니다.
실제로 DAG를 만들 때, 파이썬 언어에 익숙하지 않으면 작업이 안되실 것입니다.
이 내용은 코딩보다 클릭을 선호한다면 나 쓰지마셈! 이라고 공식 홈페이지에도 나와있습니다.
👉 Airflow의 장점은?
워크 플로우를 코딩을 할 수 있다는 것입니다. 코딩만 잘하면, 극한의 커스터마이징도 가능하다는 의미이니까요. 때론, 상상도 못할 복잡한 파이프라인도 구성할 수 있습니다. 그리고 무엇보다 Airflow는 작업 실패 시, 재시도를 하거나 로그를 남기는 기능이 잘 되어 있습니다. 운영적인 측면으로 보았을 때 안전성이 높은 것이죠.
따라서, 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