DAG 정의하기
이전 연습 문제에서는 추출, 변환, 적재 단계를 각각 완료했어요. 이제 콘솔에서 확인할 수 있는 하나의 깔끔한 etl() 함수로 모두 합쳐졌습니다.
etl() 함수는 관련 데이터베이스에서 원본 강의 및 평점 데이터를 추출하고, 손상된 데이터를 정제하며 누락값을 채운 다음, 강의별 평균 평점을 계산하고 추천 생성 규칙에 따라 추천을 만들고, 마지막으로 추천 결과를 데이터베이스에 적재합니다.
영상에서 기억하시듯, etl()은 하나의 인자 db_engines를 받습니다. 이를 PythonOperator의 op_kwargs로 태스크에 전달할 수 있어요. 호출 가능한 함수에 전달될 kwargs로 채워질 딕셔너리를 넘기면 됩니다.
이 연습은 강의의 일부입니다
데이터 엔지니어링 입문
연습 안내
- DAG 정의를 완성해 매일 실행되도록 하세요. cron 표기법을 사용해야 합니다.
- 올바른 인자를 전달해
PythonOperator()를 완성하세요.etl외에db_engines도 작업 공간에 준비되어 있습니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define the DAG so it runs on a daily basis
dag = DAG(dag_id="recommendations",
schedule_interval="____")
# Make sure `etl()` is called in the operator. Pass the correct kwargs.
task_recommendations = PythonOperator(
task_id="recommendations_task",
python_callable=____,
op_kwargs={"____": ____},
)