-
10. airflow 기초toy_project 2022. 5. 4. 00:55728x90
airflow를 배워보려 한다
기존에 파이썬으로 작성한 크롤링들을 주기적으로 실행을 하려면 크론탭으로 스케줄을 설정했다
이것의 단점은 작업에 실패하면 로그를 확인하고 에러가 난 부분을 확인해서 재실행한다는 것이다
딱히 단점이라고 생각하지 않았는데 airflow를 사용하면 이런 것들을 쉽게 핸들링 할 수 있나보다
DAG(Directed Acyclic Grtaph):유향 비순환 그래프
DAG안에는 한 개 이상의 Task가 있고, Task는 실제 실행시키는 작업이다
배치 스케줄을 관리
Action Operator
에어플로우는 Operator를 사용하여 python, bash, aws등 다양한 동작을 실행시킬 수 있다
sample_task = BashOperator( task_id="sample_task", bash_command='python3 sample_task.py', dag=dag)bash_command 부분에 python파일을 실행시키는 코드가 있다 오호리
Sensor Operator
특정 조건을 Sensing하여 실행되는 Operator.
다른 Operator들과는 달리 조건이 만족할 때까지 기다렸다가, 조건이 충족되면 다음 Task를 실행하도록 함.
예를 들어, 특정 위치에 파일이 생성되었을 때 다음 Task를 실행하도록 File sensor를 사용할 수 있음Task
데이터 파이프라인에 존재하는 Operator
Task instance
데이터 파이프라인이 Trigger되어 실행될 때 생성된 Task
Workflow
DAG를 통해 task간의 디펜던시를 정의하고 각 태스크는 Operator로 실행하는 과정들을 통해 워크플로우 정의
더보기Airflow를 사용하기 위해서는 메타데이터를 저장하는 MySQL, Celery backend를 제공하는 Redis, 그리고 무엇보다 필수적인 Airflow를 설치해야 합니다. 이번 글에서는 CeleryExecutor를 사용하지 않기 때문에 Redis를 반드시 설치해야 하는 것은 아니지만, 편의상 포함하도록 하겠습니다.
라고 한다
가끔 일하다보면 여기저기서 "레디스 레디스" 하는걸 들었는데 ariflow에 필요한가보다
어떤 건지 감은 오는데
어떻게 실행....?
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wideeyed&logNo=221565240108
728x90'toy_project' 카테고리의 다른 글
12. 플러터 시작 (0) 2022.05.16 11. airflow 튜토리얼 (0) 2022.05.09 09. 엘라스틱 서치 조회하기 (0) 2022.05.04 08. 엘라서치 조회해보기3 (0) 2022.04.26 07. 엘라서치 조회해보기2 (0) 2022.04.19