DAG 정의하기
이전 연습 문제들에서 추출, 변환, 적재 단계를 각각 완성했습니다. 이제 콘솔에서 확인할 수 있는 하나의 깔끔한 etl() 함수로 이 모든 과정을 통합합니다.
etl() 함수는 관련 데이터베이스에서 원시 강의 및 평점 데이터를 추출하고, 손상된 데이터를 정리하며 누락된 값을 채웁니다. 그런 다음 강의별 평균 평점을 계산하고 추천 생성을 위한 결정 규칙에 따라 추천 목록을 만든 뒤, 마지막으로 이 추천 목록을 데이터베이스에 적재합니다.
영상에서 기억하시겠지만, etl()은 db_engines라는 하나의 인자를 받습니다. etl과 db_engines 모두 작업 공간에 준비되어 있으므로, 여러분이 정의할 태스크는 이 둘을 조합해 호출하기만 하면 됩니다.
이 연습은 강의의 일부입니다
데이터 엔지니어링 입문
연습 안내
- DAG 정의를 완성해서 매일 실행되도록 만드세요. 이때 cron 표기법을 사용해야 합니다.
- 데이터베이스 엔진을 인자로
etl()함수를 호출하도록 태스크를 완성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define the DAG so it runs on a daily basis
@dag(dag_id="recommendations",
start_date=datetime(2024, 1, 1),
schedule="____")
def recommendations():
# Make sure the task calls etl() with the database engines
@task(task_id="recommendations_task")
def recommendations_task():
____(____)
recommendations_task()
# Run the DAG
recommendations()