목차


모듈 2 과제

<aside> 💡

주의: 제출 양식의 마지막 부분에 GitHub 저장소 또는 기타 공개 코드 호스팅 사이트에 대한 링크를 포함해야 합니다. 이 저장소에는 문제 해결을 위한 코드가 포함되어야 합니다.

옵션을 정확히 선택하지 못한 경우 가장 가까운 옵션을 선택하세요.

과제에서는 다음 링크에 있는 green 택시 데이터셋을 사용합니다:

https://github.com/DataTalksClub/nyc-tlc-data/releases/**tag**/green/download

wget 명령어로 다운로드 가능한 링크는 다음 접두사를 사용합니다 (링크 자체는 404 오류를 발생시킵니다):

https://github.com/DataTalksClub/nyc-tlc-data/releases/**download**/green/

</aside>

과제

지금까지 수업에서는 2019년과 2020년 데이터를 처리했습니다. 여러분의 과제는 기존 흐름을 확장하여 2021년 데이터를 포함하는 것입니다.

힌트로, Kestra는 이 과정을 매우 쉽게 만듭니다:

  1. 스케줄된 흐름에서 백필 기능을 활용하여 2021년 데이터를 백필할 수 있습니다. 단, 백필 옵션을 설정해야 합니다.

    https://github.com/DataTalksClub/nyc-tlc-data/releases/**tag**/green/download

  2. 또는 2021년 7개월 동안 yellowgreen 택시 데이터를 각각 수동으로 실행할 수 있습니다.

퀴즈 질문

아래 퀴즈를 완료하세요. 이것은 워크플로 오케스트레이션, Kestra 및 데이터 레이크와 웨어하우스를 위한 ETL 파이프라인에 대한 이해를 테스트하는 6개의 객관식 질문 세트입니다.

  1. Yellow 택시 데이터의 202012월 실행 시: extract 작업의 출력 파일 yellow_tripdata_2020-12.csv의 비압축 파일 크기는 얼마입니까?

    image.png

  2. 입력 값 taxigreen , year2020, month가 **04**로 설정된 경우 변수 file의 렌더링된 값은 무엇입니까?

  3. 2020년 모든 CSV 파일의 Yellow 택시 데이터의 행 수는 얼마입니까?

    SELECT COUNT(unique_row_id) AS Yellow_2020_cnt -- **24648663 ?**
    FROM `de-herzblue-202501.zoomcamp.yellow_tripdata`
    WHERE TIMESTAMP_TRUNC(lpep_pickup_datetime, DAY) BETWEEN TIMESTAMP("2020-01-01") AND TIMESTAMP("2020-12-31");
    
    SELECT SUM(row_count) AS total_rows -- 24648499
    FROM
      (SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_01`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_02`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_03`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_04`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_05`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_06`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_07`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_08`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_09`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_10`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_11`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.yellow_tripdata_2020_12`
      )
    
    
  4. 2020년 모든 CSV 파일의 Green 택시 데이터의 행 수는 얼마입니까?

    SELECT COUNT(unique_row_id) AS green_2020_cnt -- **1734039** ? 
    FROM `de-herzblue-202501.zoomcamp.green_tripdata`
    WHERE TIMESTAMP_TRUNC(lpep_pickup_datetime, DAY) BETWEEN TIMESTAMP("2020-01-01") AND TIMESTAMP("2020-12-31");
    
    SELECT SUM(row_count) AS total_rows -- **1734051**
    FROM (
    	 SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_01`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_02`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_03`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_04`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_05`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_06`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_07`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_08`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_09`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_10`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_11`
        UNION ALL
       SELECT COUNT(*) AS row_count FROM `de-herzblue-202501.zoomcamp.green_tripdata_2020_12`
      )
    
  5. 2021년 3월 CSV 파일의 Yellow 택시 데이터의 행 수는 얼마입니까?

    image.png

  6. Schedule 트리거에서 뉴욕 시간대를 어떻게 설정합니까?

    image.png

솔루션 제출