중급 Part03:정규 표현을 사용해 데이터의 품질보장

Xplenty에서는 정규식을 이용하여 데이터 품질을 보장 할 수 있습니다.

예상외의 데이터 형을 파이프라인 내에서 처리하는 방법

데이터 소스에서 오는 데이터가 항상 기대한 데이터가 반드시 보내지는 것은 아닙니다. 이러한 경우에는 파이프라인 내에서 데이터의 품질을 보장할 수 있습니다.
예를 들어, CSV에서 다음과 같은 데이터를 처리하는 경우 가격 필드에 예상되는 값은 숫자입니다. 그러나, 실제 데이터는 숫자가 아닌, 「500원」이나 「값 없음」과 같은 데이터가 들어왔다고 합니다.

thumbnail image

이런 일이 예상되는 경우 Xplenty에서 해결할 수있는 두 가지 방법이 있습니다.

  • 잘못된 데이터를 필터링하여 제외
  • 잘못된 데이터가 있으면 오류로 발생시키고 작업을 중단

필터 기능으로 잘못된 가격 데이터 감지

먼저 잘못된 데이터를 감지하고 제외하려면 Filter 컴포넌트를 사용합니다.

thumbnail image

Filter 컴퍼넌트내에서 Operator에 「Text matchs(regex)」를 선택해, 수치만의 조건을 세트 합니다.

  • 정규식 ==> 정수 값만:^[+-]?[0-9]+$

이 경우 결과로 위 표의 "ステータス = NG "의 데이터는 필터 조건에 해당하지 않으므로 필터에서 제외되고 작업 결과는 다음과 같습니다.

thumbnail image

이제까지는 단일 조건이었지만, 그 외에도 상단의 Conditions 옵션에서 [어느 조건에 일치 (OR) / 모든 조건을 만족 (AND) / 어느 조건도 해당 되지 않음 (NOT - OR)]을 통해 여러 조건을 입력하고 그 조합을 설정할 수도 있습니다.

thumbnail image

또, 하나의 필터 컴포넌트 만으로 표현할 수 없는 경우는, 파이프라인에서 복수의 Filter 컴퍼넌트를 사용해 표현하거나, 분기 처리로 나누어 표현하는 등 보다 복잡한 조건에도 유연하게 대응 가능합니다.

Assert 기능으로 잘못된 데이터를 감지하고 오류로 작업 종료

Assert 컴포넌트는 설정 조건에 해당하는 데이터가 감지되면 오류로 인식하고 잡의 실행을 중단시키는 기능입니다. 조건 설정 화면은 Filter와 같기에 설명은 생략합니다만, 출력 데이터의 정합성을 위해 입력 데이터의 검사가 필요할때 사용하는 기능입니다. 또한 다음과 같이 사용자 정의 오류 메시지도 지정가능 합니다. 

thumbnail image

마지막으로

이 외에도 다양한 정규 표현식을 사용하여 필요에 따라 예상되는 값인지 여부를보다 유연하게 제어 할 수 있습니다. 이러한 기능을 파이프라인과 결합하여 데이터 품질을 향상시키는 데 도움이 됩니다.