크론에서 해결하지 못한 부분을 상당부분 airflow를 사용하면 해결할 수 있다.

개인적으로 airflow를 잘 사용하는게 데이터 엔지니어링의 꽃이라고 생각한다

spark를 잘 사용하는건 빅데이터의 근본이고…

빅데이터 작업을 순차적으로 처리하는 툴은 airflow 외에도 여러가지가 있다

lambda를 여러개 연결해 쓸 수도 있고, Apache 제단에서 만든 Oozie도 있다

하지만 현재 기준 SOTA로 받아들여지고 사용되는것은 airflow이다

airflow로 작업을 순차적으로 진행한다는 것은 cron을 했으니 적당히 알겠지만 자세한게 이해가 안 될 것이다.

우선 airflow의 기능과 역할을 자세히 설명한 후, 현재 cron 코드를 airflow로 변경하면서 세부적인 기능을 사용하는 예시를 보자

<aside> 💡 airflow on EC2? 기본적으로 airflow는 kubernetes 기반으로 생성된다. (kubernetes는 도커의 모음이라고 보면 되는데, 자세한 내용까지는 몰라도 된다). 하나의 클라우드에서 다양한 작업을 다른 컴퓨터에서 도는 구조로 다른 컴퓨터를 키고 끌 수 있는 관리자 컴퓨터라고 생각할 수 있다. 그렇기 때문에 아무리 큰 작업이더라도 여분의 컴퓨터를 킬 권한만 있으면 마음대로 돌릴 수 있다. 하지만 이런 환경을 똑같이 구현하는건 스터디 목적으로는 비용이 너무 많이 들 수 있다. 그렇게 때문에 입문용으로 한개의 큰 EC2 내에서 도커의 형태로 airflow를 띄우고, 관련 코드와 리소스도 EC2 내에서 해결하는 방법으로 스터디를 진행한다. 오토스케일링도 되어있지 않은 EC2이기 때문에 한번이라도 무거운 작업이 돌면 EC2가 멈출 수 있고, 적은 양의 작업을 돌리기 위해서도 매우 큰 EC2를 상시로 띄워야 하기 때문에 실무에서는 사용할 수 없는 비효율적인 방식이다. 하지만 airflow 코딩을 어떻게 하는지, operator를 어떻게 쓰는지 등을 배우기에는 충분할 것이다.

</aside>

9.1 Airflow 소개

9.2 Airflow 시작하기

9.3 Airflow로 Data Collection

9.4 Airflow로 Machine Learning