일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- http
- airflow
- redshift
- AWS
- 파이썬
- 컴퓨터네트워크
- dockerfile
- TIL
- 알고리즘
- PYTHON
- ChatGPT
- 구조
- 데이터 웨어하우스
- 운영체제
- 데이터엔지니어링
- UDP
- 종류
- S3
- TCP
- 데이터 엔지니어링
- sql
- 데브코스
- 가상환경
- 데이터베이스
- 데이터 파이프라인
- 정리
- Django
- Docker
- airflow.cfg
- 컴퓨터 네트워크
- Today
- Total
목록전체 글 (161)
홍카나의 공부방
some_task = PythonOperator( task_id = "some_task", trigger_rule = "none_failed" ) 먼저 Airflow가 DAG 내에서 작업(task)을 실행하는 방법을 알아봅시다. Airflow는 DAG를 실행할 때, 각 task를 지속적으로 확인하여 실행 가능 여부를 확인합니다. task 실행이 가능하다고 판단하면, 스케쥴러가 작업을 선택한 후에 실행을 예약합니다. 그렇다면 task 실행이 가능한지는 어떻게 판단할 수 있을까요? 기본적으로 하나의 task는 업스트림(up-stream) task들이 모두 수행되면 다운스트림(down-stream) task들이 실행되는 선형적인 실행 구조를 가지고 있습니다. 이 구조는 기본적인 트리거 규칙(Trigger Ru..
airflow 2.4.0 버전 이후 airflow의 DummyOperator는 EmptyOperator로 대체되었습니다. from airflow.operators.empty import EmptyOperator EmptyOperator는 기존 팬아웃(Fan-Out) 방식의 DAG 구성 전략에 사용하던 DummyOperator랑 똑같이 사용하면 됩니다.
에어플로우 한글 책 p.12에서 Airflow의 스케쥴러가 DAG 내용을 파싱해서 task간 예약 주기(schedule interval), 의존성(dependency)을 체크한다는 내용이 나옵니다. 그런데 해당 페이지 중간 부분에 3. 예약된 각 태스크에 대해 스케줄러는 해당 태스크의 의존성(=업스트림 태스크)을 확인합니다. 의존성 태스크가 완료되지 않았다면 실행 대기열에 추가합니다. 이런 문장이 나와있습니다. 그런데 p.13에 나온 그림1.9랑 확인해보면 스케쥴러가 태스크 의존성이 모두 해결되었을 때 실행할 태스크를 대기열에 추가한다고 나와 있습니다. 앞뒤 내용이 다르죠. 어느 내용이 정확한지 결론부터 말씀드리면 후자(의존성이 모두 해결되었을 때 Execution Queue에 추가)가 맞습니다. (1)..
Security Group과 NACL Security Gropu이랑 NACL(Network Access Control List)은 모두 인스턴스로의 트래픽을 제어하는 역할을 한다. 그러나 세부적으로는 여러 차이점이 존재한다. 1. 적용 범위 Security Group : 인스턴스 수준으로 적용되고, 각 EC2 인스턴스마다 한 개 이상의 보안 그룹을 설정할 수 있다. NACL : 서브넷 수준에서 적용되고, 각 서브넷에 하나의 NACL이 적용된다. 서브넷 내부의 모든 인스턴스가 적용받는다. 2. 허용 규칙 Security Group : 모든 allow rule을 지원한다. NACL : ALLOW 규칙과 DENY 규칙을 지원한다. 3. 상태 Security Group : 상태기반(Stateful)이다. 만약,..