Data Engineering

Apache Airflow - 기초

DAG, operator (Bash, Python, SQL), 스케줄링, 태스크 의존성, Airflow UI, connection, variable, trigger rule

20 면접 질문·
Mid-Level
1

Apache Airflow에서 DAG란 무엇입니까?

답변

DAG (Directed Acyclic Graph)는 의존성과 관계로 구성된 태스크의 모음으로, 완전한 워크플로우를 나타냅니다. 비순환적이라는 것은 의존성 그래프에 루프가 있을 수 없음을 의미하며, 이는 각 태스크가 실행당 정확히 한 번 실행됨을 보장합니다. DAG는 태스크가 언제 어떻게 실행되어야 하는지 정의하지만, 구체적으로 무엇을 하는지는 정의하지 않습니다.

2

Scheduler가 실행 스케줄링을 시작하는 날짜를 정의하는 DAG 파라미터는 무엇입니까?

답변

start_date 파라미터는 Airflow가 DAG 실행 스케줄링을 시작하는 날짜를 정의합니다. 이 날짜는 schedule_interval과 결합하여 data interval을 결정하는 데 사용됩니다. 중요한 점: start_date가 과거이면, catchup=False가 설정되지 않은 한 Airflow는 놓친 실행을 따라잡기 위해 backfill을 트리거할 수 있습니다.

3

Airflow DAG에서 Python 함수를 실행하려면 어떤 operator를 사용해야 합니까?

답변

PythonOperator를 사용하면 Airflow DAG에서 Python callable 함수를 실행할 수 있습니다. 함수는 python_callable 파라미터를 통해 전달되며 op_args (리스트) 또는 op_kwargs (딕셔너리)를 통해 인수를 받을 수 있습니다. PythonOperator는 사용자 정의 Python 코드를 실행하기 위한 큰 유연성을 제공하기 때문에 가장 일반적으로 사용되는 operator 중 하나입니다.

4

task_b가 task_a 후에 실행되도록 두 태스크 task_a와 task_b 사이의 의존성을 어떻게 정의합니까?

5

자정에 매일 실행을 나타내는 cron 표현식은 무엇입니까?

+17 면접 질문

다음 면접을 위해 Data Engineering을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기