티스토리 뷰
Q1. Airflow란 무엇인가요?
A. 에어플로우는 워크플로우 자동화와 스케줄링을 위한 오픈소스 플랫폼입니다. 데이터 파이프라인을 쉽게 구성하고, 모니터링할 수 있는 툴입니다.
Q2. Airflow의 구성 요소는 무엇이 있나요?
A. DAG, Task, Operator, Scheduler, Executor, Web Server 등이 있습니다.
Q3. Airflow의 DAG는 무엇인가요?
A. 먼저 DAG는 데이터 파이프라인을 정의하는 기본 단위입니다. Task들의 순서와 종속 관계를 설정해서, 특정 작업이 끝나면 다음 작업이 실행되도록 흐름을 구성합니다.
Q4. Operator란 무엇인가요?
A. Operator는 Airflow에서 작업의 실제 로직을 정의하는 구성 요소입니다. PythonOperator는 Python 코드를, BashOperator는 셸 명령어를 실행합니다.
Q5. Scheduler가 어떻게 작업을 실행시키나요?
A. 먼저, 파이썬으로 작성된 DAG 파일을 주기적으로 스캔해서 DAG의 구조와 실행 주기를 등록합니다. 실행 시점이 되면, Task 인스턴스를 순서대로 Executor에 전달합니다. Executor는 실행 큐에 Task를 추가하고, 병렬로 Worker에 분배하여 실행합니다. (로컬에서 여러 Core에 병렬로 or 분산서버에서)
Q6. Airflow에서 Task 간에 데이터를 교환하는 방법은 무엇인가요?
A. XCom (Cross-communication)으로 작업 간에 데이터를 교환합니다.
Q7. Airflow에서 Task 실행에 실패하는 경우 어떻게 대응하나요?
A. retry 파라미터로 재시도를 설정하여 대응할 수 있습니다. 예를 들어 retries를 3으로, retry_delay를 5분으로 설정하면 실패 5분 후, 최대 3번까지 재시도합니다.
Q8. 조건에 따라 다른 Task를 실행해야한다면, 어떻게 해야할까요?
A. Airflow의 BranchPythonOperator를 사용할 수 있습니다. 조건에 따라 다음 Task 경로를 다르게 설정할 수 있습니다.
Q9. backfill과 catchup의 차이점은 무엇인가요?
A. 둘 다 놓친 작업을 실행하는 것이지만 작동방식이 다릅니다. 백필은 수동으로 특정 날짜/기간을 선택하여 해당 작업만 재처리합니다. 캐치업은 놓친 모든 주기를 자동으로 실행하여 전체를 복구합니다. 예를 들어, 1월 1일부터 7일까지 매일 실행되는 DAG이 있을 때 1/1~1/6까지 실행되지 않았다고 가정합시다. 백필을 사용하는 경우, 1/3을 지정하면 해당 날짜에 대해서만 재처리합니다. 캐치업을 사용하면, 자동으로 1/1~1/6을 재처리하여 전체 주기가 복구됩니다.
Q10. SLA은 무엇인가요?
A. 파이프라인의 모니터링을 위한 기능으로, Task가 완료되어야하는 최대 시간을 설정해서 시간 안에 끝나지 않으면 알림을 보내는 것입니다.
'기본 다지기 > BigData' 카테고리의 다른 글
[SQL 스터디] BINARY로 영어 대소문자 구분하기 (1) | 2024.11.11 |
---|---|
kubernetes/kubeflow 6문 6답 (0) | 2024.11.10 |
Hadoop 10문 10답 - 기본편 (1) | 2024.11.08 |
[SQL 스터디] 데이터 엔지니어링이란 (2) | 2024.08.14 |
[빅데이터] 빅데이터 처리의 기본 (1) | 2023.11.21 |
- Total
- Today
- Yesterday
- 빅데이터
- 백트래킹
- django
- 파이썬
- MySQL
- 정규표현식
- 우분투
- docker
- 오블완
- 백준
- 리눅스
- Linux
- 프로그래머스
- SSAFY
- sql 데이터타입 변경
- mysql binary
- 완전탐색
- SQL
- json필드
- 바이너리 조건
- 싸피
- 스택
- ubuntu
- hdfs
- stream=true
- re라이브러리
- sql대소문자
- 하둡
- 티스토리챌린지
- 백준 3020
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |