본문으로 건너뛰기
데이터 엔지니어 코스

실패 원인을 확인하고 데이터셋 전달하기

코드 오류를 실행 히스토리에서 확인하고 복구한 뒤, 컬렉션 권한과 데이터셋 설명을 정리합니다.

9분

마지막 레슨에서는 이전에 만든 파이프라인을 일부러 실패시켜 봅니다. 실패 상태와 오류 내용을 확인한 뒤 코드를 원래대로 복구하고, 파이프라인 전체가 다시 성공하는지 검증합니다.

마지막으로 분석가가 결과 데이터셋을 찾고 이해할 수 있도록 컬렉션 권한과 메타데이터를 정리합니다.

시작하기 전 안전한 실습 환경 만들기

이 실습은 normalize_price_krw 코드 자산을 잠시 변경합니다. 공유·운영 파이프라인에서는 진행하지 마세요. 자신의 연습용 컬렉션과 파이프라인을 사용하고, 파이프라인 설정 → 일정에서 일정 활성화가 꺼져 있는지 먼저 확인합니다. 레슨 04에서 정상 실행했던 코드는 다른 곳에 복사해 두고 실습이 끝나기 전에 반드시 되돌립니다.

기존 코드를 다른 파이프라인에서도 참조하고 있다면 검사기에서 바로 원본을 수정하지 말고 새 코드로 저장해 연습용 복사본을 사용하세요. 원본 수정은 그 코드를 참조하는 다른 파이프라인의 다음 실행에도 영향을 줄 수 있습니다.

현재 파이프라인은 다음과 같이 연결돼 있어야 합니다.

src_postgres_orders → normalize_price_krw → mart_orders_daily

확인할 수 있는 실행 정보

현재 파이프라인 화면에서는 다음 위치에서 실행 결과를 확인할 수 있습니다.

  • 상단 실행 이력 — 최근 실행의 상태를 작은 막대로 보여 줍니다.
  • 캔버스의 코드 노드 — 실행 중, 성공, 실패 상태가 노드에 반영됩니다.
  • 검사기 → 히스토리 — 선택한 코드 노드의 실행별 상태, 시작 시각, 소요 시간, 오류 설명과 스택 트레이스를 보여 줍니다.

대시보드 위젯처럼 각 노드의 입력·출력 행을 이 화면에서 바로 미리보는 기능은 아닙니다. 데이터 값은 실행이 끝난 뒤 입력 또는 출력 데이터셋의 데이터 화면에서 확인하세요.

오류 만들기

복구하기 쉬운 컬럼 이름 오류를 만들어 보겠습니다.

  1. normalize_price_krw 코드 자산을 편집합니다.
  2. 코드의 pl.col("price_krw_str")를 존재하지 않는 pl.col("price_krw_missing")으로 바꿉니다.
  3. 코드와 파이프라인 변경 사항을 저장합니다.
  4. 지금 실행을 누릅니다.
  5. 실행이 실패 상태로 끝날 때까지 기다립니다.

히스토리에서 원인 찾기

  1. 캔버스에서 실패 상태인 normalize_price_krw 노드를 선택합니다.
  2. 오른쪽 검사기의 히스토리 탭을 엽니다.
  3. 가장 최근 실행을 선택하고 단계 상태를 펼칩니다.
  4. 오류 설명이나 스택 트레이스에서 price_krw_missing을 찾습니다.
  5. 필요하면 단계 오른쪽의 복사 버튼으로 상태와 오류 내용을 복사합니다.

상단 실행 이력에서도 가장 최근 실행이 실패로 표시되는지 확인합니다. 오류에 적힌 컬럼 이름과 방금 바꾼 코드가 일치한다면 원인을 찾은 것입니다.

원래대로 복구하고 전체 재실행하기

  1. pl.col("price_krw_missing")을 원래 이름인 pl.col("price_krw_str")로 되돌립니다.
  2. 코드를 저장하고 파이프라인에 저장되지 않은 변경 사항이 있다면 저장을 누릅니다.
  3. 지금 실행을 눌러 파이프라인 전체를 다시 실행합니다.
  4. 상단 실행 이력과 코드 노드의 히스토리에서 새 실행이 성공했는지 확인합니다.
  5. mart_orders_daily 데이터셋을 열어 데이터가 다시 조회되는지 확인합니다.

현재 화면에는 실패한 노드부터 이어서 실행하는 기능이 없습니다. 수정 후 지금 실행을 누르면 파이프라인 전체가 실행됩니다. 출력 데이터셋의 쓰기 방식에 따라 기존 데이터에 미치는 영향이 달라질 수 있으므로, 운영 파이프라인을 재실행하기 전에는 출력 설정을 확인하세요.

분석가가 이해할 수 있게 정리하기

결과 데이터셋의 이름만으로는 분석가가 기준 시점이나 데이터 단위를 알기 어렵습니다. mart_orders_daily 상세 화면에서 실제로 편집할 수 있는 항목을 정리합니다.

  • 별칭 — 목록에서 쉽게 알아볼 수 있는 이름. 예: 일별 주문 금액
  • 설명 — 데이터 단위, 포함 범위, 갱신 시각. 예: 주문일·상품 단위 금액 · KRW · 매일 03:10 KST 기준 갱신
  • 태그 — 검색에 사용할 업무 용어. 예: orders, daily, finance

컬렉션 권한으로 전달하기

데이터셋이 속한 컬렉션의 권한 화면에서 분석가 사용자 또는 그룹을 추가합니다.

  1. mart_orders_daily가 속한 컬렉션을 엽니다.
  2. 컬렉션의 권한 화면을 엽니다.
  3. 분석가 사용자 또는 그룹을 선택합니다.
  4. 조회만 필요하다면 뷰어 역할을 부여합니다.
  5. 분석가 계정에서 컬렉션과 데이터셋이 보이는지 확인합니다.

편집자는 내용을 수정해야 하는 협업자에게, 소유자는 권한을 포함해 컬렉션을 관리해야 하는 담당자에게만 부여하세요. 결과를 조회하고 대시보드에서 사용하는 분석가에게는 뷰어가 일반적인 시작점입니다.

자가 점검

  • 고의 실패 후 코드 노드와 상단 실행 이력에 실패 상태가 표시됐습니다.
  • 연습용 파이프라인을 사용하고 자동 일정을 껐습니다.
  • 히스토리에서 잘못된 컬럼 이름과 스택 트레이스를 확인했습니다.
  • 원본 코드를 복구하고 전체 파이프라인을 다시 실행해 성공을 확인했습니다.
  • 결과 데이터셋에서 별칭, 설명, 태그를 실제 운영 정보로 정리했습니다.
  • 분석가 사용자 또는 그룹에 필요한 최소 컬렉션 역할을 부여했습니다.

코스 완료 및 다음 학습

데이터 엔지니어 코스를 완료했습니다. 이제 데이터를 가져와 파이프라인으로 변환하고, 일정에 맞춰 실행하며, 실패 원인을 확인한 뒤 결과를 분석가에게 전달하는 기본 흐름을 익혔습니다.

다음 과정에서 같은 흐름을 더 깊이 연습해 보세요.

모든 레슨의 완료 표시를 확인한 뒤 홈의 이어서 학습하기에서 다음 과정을 선택하세요.