데이터 통합Pipeline Builder파이프라인 관리사용자 정의 함수 생성하기

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

사용자 정의 함수 생성하기

사용자 정의 함수를 사용하면 변환 작업을 하나의 변환으로 저장하여 파이프라인 전반에 걸쳐 재사용할 수 있습니다. 이 기능은 파이프라인 전반에 걸쳐 로직을 반복하면서 한 곳에서 관리하는 데 유용합니다.

사용자 정의 함수는 이름 (필수), 설명 (선택), 함수 인수 (선택), 함수 정의 (필수)로 구성됩니다.

사용자 정의 함수를 생성하려면 다음 두 단계가 필요합니다.

  1. 변환 보드를 사용하여 로직을 정의합니다.
  2. 변환 보드를 새로운 사용자 정의 함수로 변환합니다.

아래에서 각 단계에 대한 예를 검토하겠습니다.

변환 보드를 사용하여 일련의 로직 정의하기

예를 들어 users 테이블이 있고 각 사용자를 고유하게 식별하는 기본 키를 생성하려고 합니다. 각 사용자의 first_name, last_name, first_login_date 조합이 고유하다는 것을 알고 있습니다. 데이터셋에 String 유형의 primary_key 열을 추가하여 이 세 열의 해시를 만들고, first_name, last_name, first_login_date를 제거하려고 합니다. 마지막으로 중복이 있는 경우 사용자 당 한 행만 남기고 age 값이 가장 낮은 행을 유지하려고 합니다.

사용자 입력 테이블 스크린샷

먼저 first_name, last_name, first_login_date를 하나의 열로 결합합니다. 문자열 연결 변환을 사용하여 이 세 열을 함께 추가할 수 있습니다.

문자열 연결 변환 스크린샷

구분자 필드에 -를 입력합니다. 그런 다음 표현식 드롭다운에서 각 열을 선택합니다. 처음 두 열은 first_namelast_name을 선택합니다. 그러나 first_login_date 열은 세 번째 필드에서 선택할 수 없는 옵션입니다. 이것은 Date 유형이기 때문이며, 문자열 연결 함수는 String 유형만 허용하기 때문입니다.

날짜 열이 없는 문자열 연결 변환 스크린샷

이 문제를 해결하려면 표현식 탭에서 Cast 표현식을 삽입합니다. 표현식에는 first_login_date를 입력하고, 캐스트할 유형에는 String을 입력합니다. 이렇게 하면 모든 하위 변환 보드에 영향을 주는 전역적으로 first_login_date를 변경할 필요가 없습니다.

캐스트 표현식이 있는 문자열 연결 변환 스크린샷

적용하기를 선택하면 결과 테이블이 다음과 같아야 합니다.

문자열 연결 변환 후 결과 테이블 스크린샷

이제 primary_key 내의 데이터를 비식별화해야 합니다. 이를 위한 한 가지 방법은 primary_key의 각 값에 대해 Hash sha256 변환을 적용하여 해시를 생성하는 것입니다. 같은 보드에서 값 재사용 옵션을 선택하여 문자열 연결Hash sha256으로 바꿀 수 있습니다.

해시 sha256 변환과 함께 값 재사용 스크린샷

이 옵션은 기존 값을 유지하고 새 변환의 첫 번째 입력으로 만듭니다.

해시 sha256 변환 스크린샷

적용하기를 선택한 후 결과가 예상대로 primary_key: String 열이 각 행에 대한 고유한 데이터를 포함하는지 확인합니다.

중간 결과 테이블 미리보기 스크린샷

이제 primary_key의 첫 번째와 마지막 행이 동일하다는 것을 알 수 있습니다. age가 25인 낮은 행을 유지하고 first_name, last_name, first_login_date를 삭제하려고 합니다. 이를 위해 집계 변환을 추가합니다. 첫 번째 필드 그룹화 열primary_key를 입력하고, 두 번째 필드 집계에는 Min 표현식이 있는 age를 입력합니다.

집계 변환 스크린샷

마지막으로 결과 테이블은 아래 이미지와 같아야 합니다. primary_key = b3c01...에 대해 한 행만 있고 age가 25인지 확인할 수 있습니다.

최종 결과 테이블 미리보기 스크린샷

변환 보드를 사용자 정의 함수로 변환하기

이제 파이프라인 내에서 이 로직을 세 곳에서 재사용하려고 합니다. Shift + 아래 화살표를 사용하여 두 보드를 모두 선택한 다음 상단 표시줄의 + 버튼을 선택하여 로직을 사용자 정의 함수로 변환할 수 있습니다.

여러 변환 보드를 사용자 정의 함수로 변환하는 스크린샷

이렇게 하면 사용자 정의 함수 생성 페이지가 열립니다. 입력 열 first_name, last_name, first_login_date, age가 취소선으로 표시되어 있는 것을 알 수 있습니다. 이는 생성하는 함수가 열 이름에 관계없이 파이프라인 내에서 올바른 유형의 4개 입력에 대해 일반적으로 적용되기 때문입니다.

사용자 정의 함수 생성 페이지 스크린샷

이러한 입력을 정의하려면 네 번의 인수 추가를 선택합니다. 노란 상자에 클릭하여 인수 이름을 설정합니다.

사용자 정의 함수 인수 초기 구성 스크린샷

그런 다음 각 인수의 오른쪽 기어 아이콘을 클릭하여 인수 유형을 설정합니다. 여기에서 첫 번째와 두 번째 인수는 Expression<String> 유형으로 설정하고, 세 번째 인수는 Expression<Date> 유형으로 설정하며, 마지막 열은 Expression<Integer> 유형으로 설정하려고 합니다.

사용자 정의 함수 인수 완전한 구성 스크린샷

이제 새 인수를 이전처럼 두 보드에 추가할 수 있습니다. 그러나 이제 Parameters 섹션에서 Columns 섹션 대신 사용할 수 있습니다.

인수가 있는 사용자 정의 함수 스크린샷

구성을 완료한 후 함수에 기본 키 생성기라는 이름을 붙이고 선택적 설명을 추가한 다음 모든 변경 적용을 선택합니다.

사용자 정의 함수 인수 최종 구성 스크린샷

이제 새 함수는 어떤 변환 경로에서든 사용할 수 있습니다. 다음에 이 패턴으로 기본 키를 생성해야 할 때 변환 드롭다운에서 기본 키 생성기를 검색할 수 있습니다.

검색 창에서 사용자 정의 함수 사용 가능 스크린샷

원래 열인 first_name, last_name, first_login_date, age를 사용하여 사용자 정의 함수를 채울 수 있습니다.

변환 경로 내에서 사용자 정의 함수 구성 스크린샷

관련 열 이름을 사용자 정의 함수에 입력함으로써 경로에서 동일한 변환으로 함수를 생성한 것과 동일한 결과를 만들 수 있습니다. 그러나 사용자 정의 함수를 생성함으로써 변환 보드를 별도로 생성하는 것이 아니라 파이프라인 전반에 걸쳐 함수 로직을 재사용할 수 있습니다.

최종 결과 테이블 미리보기 스크린샷