Learn/Airflow
-
[Airflow] sub dagLearn/Airflow 2022. 4. 7. 23:09
sub dag dag를 만들어 쓰다보니 잘쓰고 싶은 욕심이 들게된다. 그러다보니 점점 task를 잘게 쪼개고 병렬화도 많이 하게 된다. 나는 Graph형태로 자주 보는편인데 문제는 너무 복잡해진다. 이 때 sub dag를 쓰면 좋다. 메인 dag에서는 sub dag로 묶어서 보이니 간결해진다. 써보자 Sub Dag를 만드는건 기존의 Dag를 만드는 것과 다르지 않다. Dag를 만들고 메인 Dag에서 SubDagOperator를 쓰면 Sub Dag가 된다. 추후에 빨리 참고하기위해 코드를 남긴다만, 사용법은 너무도 다양하다. 아래처럼 작성하면 prepare_train이 끝나면 5개의 train이 병렬로 실행된다. (지금보면 별것 아니지만 Airflow 사용이 미숙해서 병렬로 실행하는 것도 한참 삽질했다....
-
5. Airflow variablesLearn/Airflow 2021. 11. 19. 21:07
조만간 업무상 bigquery에서 airflow를 쓰게될 것 같다. 그땐 아래 링크를 보고.. 일단 variable로 jump https://youtu.be/wAyu5BN3VpY Airflow에서는 key-value 쌍으로 된 variable들을 설정할 수 있다. 물론 아래와 같이 직접 DAG 코드에 작성할 수 있지만 이렇게 사용하지 말기를 권장한다. # Do not use variables like this var1 = "value1" var2 = [1, 2, 3] var3 = {'k': 'value3'} 그럼 어떻게 쓰는게 좋은건가? Web UI에서 Variable에 key-value를 등록해서 사용하길 권장한다. 다만 주의할 점은, 이 Variable들은 Airflow Metadata DB에 저장되..
-
4. Airflow conceptLearn/Airflow 2021. 11. 14. 18:04
DAG (Directed Acyclic Graph) 돌릴 task를 모아놓은걸 DAG라고 부른다. 노드간에 진행 방향이 있는 그래프를 directed graph라고 부르고 순환형이 아닌 것을 Acyclic graph라고 부른다. operator task가 어떤 행동을 할 것인지를 operator라고 부른다. operator들은 이미 많은 것들이 구현되어있고 계속해서 개발되고 있다. operator에는 세 가지 유형이 있다. ① Sensors 특정 조건이 만족될 때까지 계속 돌고 있는 operator 조건의 예시로 특정 시간을 기다린다던가 무언가 파일이 올때까지 기다리는 것이 있다. ② Operators 특정 행위를 실행시키는 operator BashOperator, PythonOperator 이런 것들이..
-
3. pipeline을 만들어보자 (+execution_date)Learn/Airflow 2021. 11. 11. 23:26
설치까지 했으면 이제 파이프라인을 만들어볼 차례다. 흘려보낼 데이터가 없어서 실습이 고민되지만 일단 한 단계씩 따라가보자. 파이프라인을 만드는 작업은 5단계로 나눠볼 수 있다. Step 1. Importing modules 필요한 라이브러리를 import하자. from datetime import timedelta import airflow from airflow import DAG from airflow.operators.bash_operator import BashOperator Step 2. Default Arguments dictionary형태로 기본 arg를 작성하자. 여기서 주의해야할건 시간이다. airflow의 시간 개념을 알고가야한다. 아래에서 start_date는 실행되는 날짜가 아니다...
-
2. 설치 및 셋업 (WSL2 / Docker / Airflow)Learn/Airflow 2021. 11. 9. 23:28
데이터를 흘려보내긴 쉽지 않지만 그래도 설치는 해봐야하지 않겠는가! 설치는 당연히 docker위에 올리는게 나을 것 같다. (유지보수, 재설치 비용 등을 감안하여..) 리눅스 환경은 어렵게 가지말고 윈도우의 wsl을 써보기로 했다. 일단 Windows 기능 켜기/끄기에서 Linux 관련 기능을 켜준 후 Microsoft Store에서 Ubuntu를 찾아서 설치해주면 된다. 도커는 이미 정리했으니 참고 https://push-and-sleep.tistory.com/4?category=863590 settings > resources > wsl integration에서 ubuntu가 나오지 않는다. ubuntu를 지운 후 다시 설치하니 이제 잡힌다. 그러고나서 해보니 잘 된다. 참고: https://www...
-
1. Airflow 소개Learn/Airflow 2021. 11. 8. 11:03
나는 입사 후 4년 정도는 Splunk라는 상용툴을 통해 데이터 수집, 처리, 분석을 진행해왔다. Splunk는 훌륭한 도구지만 치명적인 단점은... 유료! 아쉽지만 그 조직을 떠난 이후 다른 조직에선 Splunk를 쓸 수 없었다. 빅데이터 조직에선 숙명적으로 늘 만나는게 Airflow이다. 나는 그간 분석가였고, 데이터 엔지니어링을 하는 어느곳에서 만든 Airflow를 이해하는 정도의 수준의 작업만 해왔다. 누가 만들었나, 언제 만들었나, 어떤 회사가 쓰나..이런건 생략하고 Airflow는 어떤 문제를 해결해줄까? 잘 정리된 자료를 하나 인용하자면 아래와 같다. Failures Monitoring Dependencies Scalability Deployment Process historic data 이..