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

이름변경/형변환으로 주문 데이터 정리하기

입력 데이터셋, 이름변경/형변환, 출력 데이터셋을 연결하고 날짜 컬럼 이름을 정리합니다.

10분

파이프라인은 컬렉션에 있는 데이터셋과 코드, 기본 변환을 캔버스에서 연결해 실행하는 작업 흐름입니다.

이번 레슨에서는 원본의 ord_dt_str 컬럼 이름을 order_date로 바꾸고 새 테이블 데이터셋에 저장합니다. 현재 편집기에서는 컬렉션의 입력 데이터셋 → 빠른 추가의 이름변경/형변환 → 컬렉션의 출력 데이터셋을 직접 연결합니다.

사전 준비

이전 레슨에서 만든 src_postgres_orders 데이터셋을 사용합니다. 커넥터 실습을 건너뛰었다면 같은 컬렉션에 있는 다른 표 형식 데이터셋을 사용해도 됩니다.

출력 테이블 만들기

이번 실습에서는 파이프라인 편집기를 열기 전에 컬렉션에서 mart_orders_clean 테이블을 실제 데이터셋으로 먼저 만듭니다. 현재 빠른 추가로 만든 출력 테이블을 기본 변환에 연결하면 저장 과정에서 데이터셋 참조 오류가 발생할 수 있기 때문입니다.

  1. 왼쪽 사이드바에서 컬렉션을 선택하고 src_postgres_orders가 있는 컬렉션을 엽니다.
  2. 항목 추가를 선택하고 데이터셋에 마우스를 올린 뒤 테이블을 선택합니다.
  3. 기본 정보에서 이름을 mart_orders_clean으로 입력하고 다음을 선택합니다.
  4. 스키마에서 임시 컬럼을 수정하고 속성 추가로 다음 세 컬럼을 구성합니다.
컬럼 이름데이터 타입
order_idText
order_dateText
amountInteger
  1. 생성을 선택하고 컬렉션 항목 목록에 mart_orders_clean이 표시되는지 확인합니다.
mart_orders_clean 데이터셋 기본 정보 입력 화면
출력 데이터셋 이름과 별칭을 입력하고 빈 테이블로 생성
mart_orders_clean 데이터셋 스키마 설정 화면
order_id, order_date, amount 컬럼과 데이터 타입 확인

이미 같은 이름의 테이블을 만들었다면 스키마가 위 구성과 같은지 확인하고 기존 mart_orders_clean을 사용하세요.

편집기를 열고 컬렉션 선택하기

  1. 왼쪽 사이드바에서 데이터 → 파이프라인을 선택합니다.
  2. 오른쪽 위의 생성을 선택합니다.
  3. 파이프라인 컬렉션 선택 창에서 저장 위치인 컬렉션을 선택합니다.
새 파이프라인의 소속 컬렉션 선택 화면
파이프라인에서 사용할 리소스가 있는 실습 컬렉션 선택
Engineer 실습 컬렉션을 선택한 빈 파이프라인 편집기
왼쪽 라이브러리에서 변환과 두 데이터셋을 찾을 수 있는 편집기

컬렉션을 고르기 전에는 파이프라인 항목을 추가하거나 실행할 수 없습니다. 하나의 파이프라인에는 선택한 컬렉션 안의 데이터셋과 코드만 사용할 수 있으므로, 입력 데이터셋이 있는 컬렉션을 선택하세요.

화면 왼쪽의 컴포넌트 라이브러리에는 새 항목을 만드는 빠른 추가와 컬렉션의 기존 항목을 가져오는 컬렉션 영역이 있습니다. 가운데는 노드를 배치하는 캔버스이고, 노드를 선택하면 오른쪽 검사기에서 구성과 입출력을 편집할 수 있습니다.

입력 데이터셋 추가하기

  1. 컴포넌트 라이브러리의 컬렉션 영역에서 선택한 컬렉션을 펼칩니다.
  2. src_postgres_orders 데이터셋을 캔버스로 끌어다 놓습니다.

이 노드는 새 데이터를 만드는 항목이 아니라 이미 컬렉션에 저장된 데이터셋을 참조합니다.

기본 변환 추가하기

  1. 빠른 추가 → 변환 → 이름변경/형변환을 캔버스로 끌어다 놓습니다.

기본 변환은 현재 선택/필터, 조인, 유니온, 집계, 이름변경/형변환을 제공합니다. 이번에는 각 행을 독립적으로 처리하는 이름변경/형변환을 사용합니다.

이번 작업이 하는 일

이번 작업은 원본 주문의 값과 행 수는 그대로 두고 날짜 컬럼 이름만 알아보기 쉽게 정리합니다.

단계데이터
입력order_id, ord_dt_str, amount를 가진 src_postgres_orders의 세 행
처리ord_dt_str의 별칭을 order_date로 지정하고 데이터 타입은 바꾸지 않음
출력order_id, order_date, amount를 가진 mart_orders_clean의 세 행

즉, 원본 주문 데이터는 그대로 보존하면서 분석하기 쉬운 컬럼 이름을 가진 결과를 별도 테이블로 만드는 것이 목적입니다. 이름변경/형변환은 각 행만 처리하므로 전체 데이터를 한꺼번에 읽어야 하는 집계나 조인과 달리 별도의 전체 읽기 설정이 필요하지 않습니다.

출력 데이터셋 추가하기

  1. 컴포넌트 라이브러리의 컬렉션 영역에서 선택한 컬렉션을 펼칩니다.
  2. 앞에서 만든 mart_orders_clean 데이터셋을 캔버스로 끌어다 놓습니다.

입력과 출력 데이터셋 모두 컬렉션 영역에서 가져오므로 실제 데이터셋 ID가 파이프라인에 연결됩니다. 출력 데이터셋을 빠른 추가에서 새로 만들지 마세요.

노드를 연결하고 기본 변환 구성하기

  1. 입력 데이터셋의 오른쪽 연결점을 이름변경/형변환 노드의 왼쪽 연결점으로 끌어 연결합니다.
  2. 이름변경/형변환 노드의 오른쪽 연결점을 mart_orders_clean의 왼쪽 연결점에 연결합니다. 두 연결을 모두 만든 뒤 검증해야 합니다.
src_postgres_orders, 이름변경 형변환, 정제 주문 마트가 연결된 파이프라인
입력 데이터셋에서 변환을 거쳐 출력 데이터셋으로 이어지는 두 연결선 확인
  1. 이름변경/형변환 노드를 선택하고 오른쪽 검사기의 구성 탭을 엽니다.
  2. 입력 포트에서 연결된 데이터셋을 선택합니다.
  3. 컬럼 추가를 선택합니다.
  4. Columnord_dt_str, Aliasorder_date를 입력하고 데이터 타입은 변환 안 함으로 둡니다.
  5. 검증에서 유효함을 확인하고 미리보기를 선택합니다.
이름변경 형변환 노드의 구성 탭
연결된 입력 포트를 선택한 뒤 컬럼 매핑을 추가하는 위치
ord_dt_str 컬럼을 order_date 별칭으로 매핑한 구성 화면
입력 포트와 ord_dt_str → order_date 매핑 값 확인

미리보기에는 order_id, order_date, amount 컬럼과 주문 세 행이 표시되어야 합니다. 지정하지 않은 order_idamount는 그대로 전달됩니다.

캔버스에는 다음 순서의 세 노드가 보여야 합니다.

src_postgres_orders → 이름변경/형변환 → mart_orders_clean

저장하고 한 번 실행하기

  1. 오른쪽 위의 저장을 선택합니다.
  2. 이름을 mart_orders_clean_pipeline으로 입력하고 파이프라인 유형은 배치로 둡니다.
  3. 저장이 끝나면 지금 실행을 선택합니다.
배치 파이프라인 저장 다이얼로그
이름, 배치 유형, 소속 컬렉션과 컬렉션 위반 0건 확인

저장하지 않은 파이프라인에서 지금 실행을 선택하면 파이프라인 저장 안내가 열립니다. 저장 후 실행으로 이어갈 수도 있지만, 처음에는 저장과 실행을 따로 진행하면 각 단계의 오류를 구분하기 쉽습니다.

실행 중에는 캔버스의 노드 상태와 실행 이력에서 진행 상황을 확인합니다. 실행이 끝나면 컬렉션에서 mart_orders_clean을 열고 데이터 탭에서 다음을 확인하세요.

  • ord_dt_str 대신 order_date 컬럼이 있는지
  • 주문 세 행이 모두 표시되는지
  • order_idamount 값이 원본과 같은지

자가 점검

  • 항목을 추가하기 전에 파이프라인 컬렉션을 선택했는지 확인합니다.
  • 컬렉션에 order_id(Text), order_date(Text), amount(Integer) 스키마의 mart_orders_clean을 먼저 만들었는지 확인합니다.
  • 기존 입력 데이터셋, 이름변경/형변환, 새 테이블 데이터셋이 순서대로 연결됐는지 확인합니다.
  • 파이프라인을 저장한 뒤 지금 실행으로 한 번 실행했는지 확인합니다.
  • 출력 데이터셋에서 이름이 바뀐 날짜 컬럼과 주문 세 행을 확인합니다.

다음 레슨

다음 레슨에서는 일정 금액 이상의 주문만 남기는 조건을 Python 또는 SQL 코드 자산으로 작성하고 파이프라인에서 실행합니다.