일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 데이터 엔지니어
- spark
- kafka
- MySQL
- 데이터 엔지니어링
- 스파크 스트리밍
- 카프카
- 스파크
- kafka rest api
- 레드시프트
- 대용량 처리
- Parquet
- 에어플로우
- Redshift
- docker
- Data Warehouse
- delta lake
- Data engineering
- spark streaming
- airflow
- 데이터
- 컬럼 기반
- Schema Registry
- 카프카 구축
- 델타레이크
- Data Engineer
- Zookeeper
- 데이터 웨어하우스
- s3
- AWS
- Today
- Total
목록operator (2)
데이터 엔지니어 기술 블로그

개요 Task는 에어플로우의 기본 실행 단위이다. Task에는 세가지 종류가 있다. 1. Operator: Bash, Python 등과 연결되어 있는 미리 정의된 작업 템플릿 2. Sensor: 외부 이벤트를 기다리는 연산자의 하위 클래스 3. TaskFlow: @task 데코레이터를 사용하여 패키지와 할 수 있는 기능(Airflow 2.0.0 신규 기능) 기본 개념 관계 작업간의 종속성을 설정하기 위해서 upstream, downstream을 사용할 수 있다. 연산자를 사용하여 종속성을 설정할 수 있다. a_task >> b_task >> [c_task, d_task] 작업은 기본적으로 자신의 정보를 전달하지 않으며 독립적으로 실행이 되지만, XCom을 사용하여 다른 태스크로 정보를 전달할 수 있다. ..

개요 Airflow는 복잡한 워크플로우를 프로그래밍 방식으로 작성해서, 스케줄링하고 모니터링할 수 있는 플랫폼이다. 데이터 파이프라인을 이루고 있는 ETL 스크립트들을 스케줄링 할 때 crontab, cloudwatch 등을 사용하는 곳이 많다. 그러나 스크립트들이 많아지고 서로에 대한 의존성이 생기게 되면 컨트롤하기 어렵고, 기존 작업이 실패했을 때 다시 스크립트를 실행하려면 로그를 확인하고 실행해야 하는 등의 문제점이 생긴다. 이러면 바로 복구할수도 없고, 어디서 잘못되었는지 확인하기도 어렵고, 의존성이 있는 스크립트가 잘못되었는데 그 다음 스크립트가 실행이 되버리는 등의 문제점이 발생할 수 있다. Airflow에는 서로에 대한 의존성을 표현할 수 있고, 스크립트가 실패했을 때 알람을 보내 확인하고 ..