시작하기무료로 시작하기

DAG 정의하기

이전 연습 문제들에서 추출, 변환, 적재 단계를 각각 완성했습니다. 이제 콘솔에서 확인할 수 있는 하나의 깔끔한 etl() 함수로 이 모든 과정을 통합합니다.

etl() 함수는 관련 데이터베이스에서 원시 강의 및 평점 데이터를 추출하고, 손상된 데이터를 정리하며 누락된 값을 채웁니다. 그런 다음 강의별 평균 평점을 계산하고 추천 생성을 위한 결정 규칙에 따라 추천 목록을 만든 뒤, 마지막으로 이 추천 목록을 데이터베이스에 적재합니다.

영상에서 기억하시겠지만, etl()db_engines라는 하나의 인자를 받습니다. etldb_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()
코드 편집 및 실행