ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. Airflow 소개
    Learn/Airflow 2021. 11. 8. 11:03

     

    나는 입사 후 4년 정도는 Splunk라는 상용툴을 통해 데이터 수집, 처리, 분석을 진행해왔다. 

    Splunk는 훌륭한 도구지만 치명적인 단점은... 유료!

    아쉽지만 그 조직을 떠난 이후 다른 조직에선 Splunk를 쓸 수 없었다. 

     

    빅데이터 조직에선 숙명적으로 늘 만나는게 Airflow이다. 

    나는 그간 분석가였고, 데이터 엔지니어링을 하는 어느곳에서 만든 Airflow를 이해하는 정도의 수준의 작업만 해왔다. 

     

    누가 만들었나, 언제 만들었나, 어떤 회사가 쓰나..이런건 생략하고

     

    Airflow는 어떤 문제를 해결해줄까? 잘 정리된 자료를 하나 인용하자면 아래와 같다. 

    • Failures
    • Monitoring
    • Dependencies
    • Scalability
    • Deployment
    • Process historic data

    이걸 외우는게 무슨 소용이 있으랴..

    실제 겪었던 시나리오는 다음과 같다. 

    "나는 A, B, C 부서가 각각 제공하는 데이터를 결합해서 특정 지표를 만들어야 했다."
    "A, B, C 하루에 한번씩 데이터를 주는 시간이 서로 다르다."
    "주는 시간 뿐만 아니라 데이터가 커서 전처리 작업을 하는데 걸리는 시간도 다르다."
     (짧은건 5분 긴건 1시간) 
    "A, B가 다 들어오면 D라는 새로운 데이터셋을 만든 후 C와 결합하여 E를 만들어야 했다."
    "A, B, C는 안정성이 떨어져서 가끔 빈 데이터가 오곤 했다."

    이렇게 실제 서비스 데이터를 처리할땐 위에서 적은 문제들이 발생하곤 했다. 

    Splunk는 상용 도구라 그런지 그 안에서 이래저래 해결이 가능했다. 

    하지만 이젠 Airflow로 저 상황들을 직접 처리해야 하는 때가 왔다. 

     

    Airflow의 가장 중요한 키워드는 DAG이다. 

    Directed Acyclic Graph의 약자로 방향이 있는 비동기적인 그래프라는 뜻인 것 같다. 

    아마 진행 방향이 정해져있고 실행 순서가 있으니 비동기적이라고 적는게 아닐까 싶다. 

     

    하나의 DAG에는 여러개의 Task들이 존재한다. 

    DAG와 Task는 파이썬 코드로 작성하는데 t1 >> [t2, t3] 이런식으로 순서를 작성한다. 

    python은 연산자도 오버라이딩이 되는데 이걸 몰라서 삽질했던 기억이 난다. 

     

     

     

     

    많이 도움되었던 강의: https://youtu.be/AHMm1wfGuHE

    'Learn > Airflow' 카테고리의 다른 글

    [Airflow] sub dag  (0) 2022.04.07
    5. Airflow variables  (0) 2021.11.19
    4. Airflow concept  (0) 2021.11.14
    3. pipeline을 만들어보자 (+execution_date)  (0) 2021.11.11
    2. 설치 및 셋업 (WSL2 / Docker / Airflow)  (0) 2021.11.09

    댓글

Designed by Tistory.