Xplenty의 디버깅 방법 - Integrate.io Blog

< integrate.io의 블로그 기사 번역 >

로우코드 및 노코드 기능을 갖춘 Integrate.io는 모든 기업의 ETL과 데이터 통합을 지원합니다. 그러나 Integrate.io의 매우 사용자 친화적인 인터페이스임에도 의도한 변환이 예상대로 작동하지 않을 수 있기에 문제를 신속하게 디버깅하고 해결해야 합니다.

다행히 Integrate.io에는 문제를 해결하기 위한 여러 디버깅 옵션이 있습니다. 다음은 Integrate.io에서 디버깅할 수 있는 세 가지 방법을 설명합니다. 여기에는 ETL 파이프라인을 통과할 때 데이터를 시각화할 수 있는 새로운 기능인 컴포넌트 프리뷰어도 포함되어 있습니다.

목차

  1. 파일 스토리지에 쓰기
  2. X-console
  3. 컴포넌트 프리뷰어
  4. Integrate.io에서 ETL 워크플로 디버깅 가속화

디버깅 방법 1 : 파일 스토리지에 쓰기

Integrate.io에서 가장 쉬운 디버깅 방법 중에 하나가 중간 데이터를 S3와 같은 파일 저장소에 쓰고, 그 파일을 열어 데이터 출력 결과를 이용하여 오류를 검사하는 것입니다.
Integrate.io에는 Clone 컴포넌트(처리를 분기하는 기능)가 있어 하나의 데이터 흐름을 두 개 이상의 데이터 흐름으로 나눌 수 있습니다. Integrate.io에서 디버깅하기 위해 ETL 파이프라인에 Clone 컴포넌트를 삽입할 수 있습니다. 한쪽 데이터 흐름은 그대로 원래의 파이프라인으로 보내고, 다른 한쪽 데이터 흐름은 중간 출력을 파일 스토리지 버킷(예: Amazon S3)으로 출력합니다.

파일 스토리지는 데이터의 포맷에 관계없이, (버그가 있어도) 문제없이 출력 할 수 있습니다. 또 다른 이점은 파일 저장소에 쓰면 출력 결과를 한눈에 볼 수 있으므로 일부 데이터에 작은 오류가 숨겨져 있을 때도 매우 유용합니다.

다음은 지금까지 설명한 디버그 처리를 실제로 파이프라인에 구현한 경우 Integrate.io 대시보드에서 어떻게 보이는지를 보여주는 간단한 예입니다. 디버그 플로우를 추가하기 전에 select_1 및 select_3 컴포넌트는 직접 연결되었습니다. clone_2 컴포넌트는 데이터 흐름을 두 개로 나눕니다. 한쪽 데이터 흐름은 select_3 컴포넌트에 연결되고 다른 한쪽 데이터 흐름은 file_storage_4 컴포넌트로 출력됩니다.

thumbnail image

디버깅 방법 2 : X-Console

Integrate.io의 함수에 대한 디버깅이 필요한 경우는 X-Console이 적합합니다. Integrate.io의 X-Console은 ETL 파이프라인의 영향을 받지 않고 데이터 파이프라인 속의 함수를 구현하기 전에 테스트하기 위한 샌드박스 역할을 합니다. 이러한 샌드박스 환경은 유닉스 쉘이나 파이썬과 같은 프로그래밍 언어의 REPL 인터프리터를 사용하는 사용자에게는 매우 익숙합니다. X-Console은 일반적인 문제 해결, 빠른 함수 동작확인이나 구문 검사(예: 함수가 예상대로 데이터 유형을 반환하는지 확인)에 매우 유용합니다.

X-Console을 사용하려면 먼저 파이프라인의 Select 컴포넌트를 클릭하고 컴포넌트의 모든 필드 왼쪽에 있는 편집 아이콘(연필과 종이 모양)을 클릭합니다. 그 이후에 Expression Editor가 나타나면 모달 창의 오른쪽 상단에 있는 X-Console 버튼을 클릭하여 X-Console을 시작합니다.

thumbnail image

thumbnail image

디버깅 방법 3 : 컴포넌트 프리뷰어

파일 스토리지에 쓰거나 X-Console을 사용하면 Integrate.io에서 디버깅하는 데 매우 효과적이지만 제한 사항도 있습니다.

  • 파일 스토리지에 쓰기는 많은 양의 데이터를 처리하기에는 복잡하고 번거로울 수 있습니다.
  • X-Console은 작업을 실행할 때 사용할 데이터를 조작할 수 없으며 콘솔에서 정의한 변수만 조작할 수 있습니다.

모든 상황에 적합한 옵션을 갖기 위해 Integrate.io는 디버깅을 수행하는 세 번째 방법을 도입했습니다. 그것이 컴포넌트 프리뷰어 입니다. 이것은 Integrate.io의 패키지 디자이너에서 사용할 수 있는 새로운 기능으로, 데이터가 ETL 파이프라인을 단계별로 통과할 때 어떻게 보이는지 보여주는 창을 제공합니다. 컴포넌트 프리뷰어를 사용하면 데이터 흐름의 로직을 확인하고 검증하고 버그와 오류의 원인을 파악하는 것이 그 어느 때 보다 쉬워집니다.

컴포넌트 프리뷰어를 사용하려면 확인하려는 변환 컴포넌트(클론 컴포넌트 제외)를 클릭한 다음, 미리보기(Preview) 버튼을 클릭합니다. Integrate.io는 미리보기를 하는 변환 컴포넌트까지의 변환을 마친 데이터를 보여줍니다.
단, 실행 시간을 줄이기 위해 컴포넌트 프리뷰어는 데이터 소스에서 일부 데이터만 검색한다는 점을 주의하기 바랍니다. 프리뷰에서 보여지는 데이터가 조인에 의한 예상결과와 다르다고 문의를 주시는 고객들이 있습니다만, 전체 데이터가 아닌 일부 데이터만 가지고 변환하기 때문입니다. 

미리보기 작업이 완료되면 변환 결과가 데이터 미리보기 헤더 아래에 표시됩니다. 출력 결과는 표 형식 또는 RAW 형식으로 볼 수 있습니다.

thumbnail image

Integrate.io의 컴포넌트 미리 보기는 에러의 원인을 분리해야 하는 복잡한 다중 단계 변환 디버깅에 이상적입니다. 이 섹션에서는 최근 에러가 발생한 작업에 대한 컴포넌트 미리 보기 뷰어를 사용하는 방법을 설명합니다.

  1. Integrate.io 대시보드의 오른쪽 사이드바에서 Jobs 아이콘을 클릭합니다.
  2. 상단의 검색창에 status:failed를 입력하고 Search 버튼을 클릭합니다.
  3. 오류가 발생한 작업이 새 작업에서 이전 작업 순서로 목록에 표시됩니다. 해당 작업의 오른쪽에 있는 View details를 클릭합니다. 그러면 해당 작업의 오류 로그가 포함된 Windows가 표시됩니다. 디버깅하려는 오류의 로그를 확인합니다.

에러의 원인을 알면 수식 편집기에서 직접 수정할 수 있습니다.
다음 예에서 Destination 데이터 웨어하우스는 최대 6자의 PER_FirstName 및 PER_LastName 값만 허용하므로 너무 긴 이름을 로드하려고 하여 에러가 발생했습니다. 수식 편집기의 SUBSTRING 함수를 적용하여 이들 필드의 데이터를 적절히 잘라내어 대상 스키마에 맞추었습니다.

thumbnail image

컴포넌트 프리뷰어를 사용할 때의 주의 사항

컴포넌트 프리뷰어에서 가져오는 데이터는 한계(50 레코드)가 설정되어 있기에, 프리뷰어는 50개의 레코드를 샘플로 가져와 처리합니다.
JOIN 컴포넌트를 이용했을 경우에, 결합하는 2개의 데이터 세트에서 JOIN 키에 대응하는 레코드가 실제의 데이터 세트에 존재하는 경우에서도, 프리뷰상에서는 샘플된 50건끼리가 JOIN 되기 때문에, JOIN 키가 실제와 같지 않을 수 있습니다. 이런 경우는 JOIN 처리의 정확한 결과를 검증을 위해 잡의 실행(디버깅 방법 1)을 통한 확인이 필요 합니다.

Integrate.io에서 ETL 워크플로 디버깅 고속화

컴포넌트 프리뷰어 덕분에 Integrate.io는 ETL 파이프라인의 디버깅이 이전보다 훨씬 쉬워졌습니다. 이것이 Integrate.io가 현 시장에서 가장 강력하고 사용자 친화적 인 ETL 플랫폼 인 이유 중 하나입니다.
Integrate.io는 풍부한 기능, 간단한 GUI, 100가지 이상의 인터그레이트 기능, 최고의 기술 지원을 제공하여 누구나 데이터 통합 전문가가 될 수 있습니다.

자사에 가장 적합한 ETL 솔루션을 찾고 계십니까?
저희가 도와드립니다. 한번 데모 신청을 통해 데이터 통합에 대해 상담을 받아보시기 바랍니다.