다음을 통해 공유


데이터 프로파일링 태스크

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

데이터 프로파일링 태스크는 데이터 원본에 익숙해지고 수정해야 하는 데이터의 문제를 식별하는 데 도움이 되는 다양한 프로필을 계산합니다.

Integration Services 패키지 내의 데이터 프로파일링 작업을 사용하여 SQL Server에 저장된 데이터를 프로파일링하고 데이터 품질에 대한 잠재적인 문제를 식별할 수 있습니다.

참고 항목

이 항목에서는 데이터 프로파일링 태스크의 기능 및 요구 사항에 대해서만 설명합니다. 데이터 프로파일링 작업을 사용하는 방법에 대한 연습은 데이터 프로파일링 태스크 및 뷰어 섹션을 참조하세요.

요구 사항 및 제한 사항

데이터 프로파일링 태스크는 SQL Server에서 저장된 데이터만 사용할 수 있습니다. 이 태스크는 타사 또는 파일 기반 데이터 원본에서는 작동하지 않습니다.

또한 데이터 프로파일링 작업이 포함된 패키지를 실행하려면 tempdb 데이터베이스에서 CREATE TABLE 권한을 비롯한 읽기/쓰기 권한이 있는 계정을 사용해야 합니다.

데이터 프로파일러 뷰어

작업을 사용하여 데이터 프로필을 계산하고 파일에 저장한 후 독립 실행형 데이터 프로필 뷰어를 사용하여 프로필 출력을 검토할 수 있습니다. 또한 데이터 프로필 뷰어는 프로필 출력에서 식별되는 데이터 품질 문제를 이해하는 데 도움이 되는 드릴다운 기능도 지원합니다. 자세한 내용은 데이터 프로필 뷰어를 참조하세요.

Important

출력 파일에는 데이터베이스 및 해당 데이터베이스에 포함된 데이터에 대한 중요한 데이터가 포함될 수 있습니다. 이 파일을 보다 안전하게 만드는 방법에 대한 제안 사항은 패키지에서 사용하는 파일에 대한 액세스를 참조하세요.

데이터 프로필 뷰어에서 사용할 수 있는 드릴다운 기능은 원래 데이터 원본에 라이브 쿼리를 보냅니다.

사용 가능한 프로필

데이터 프로파일링 작업은 다른 데이터 프로필 여덟 개를 계산할 수 있습니다. 이 중 5개는 개별 열을 분석하며, 나머지 3개는 여러 열 또는 열과 테이블 간의 관계를 분석합니다.

다음 5개의 프로필은 개별 열을 분석합니다.

개별 열을 분석하는 프로필 설명
열 길이 분포 프로필 선택한 열에 있는 문자열 값의 모든 고유 길이 및 각 길이가 나타내는 테이블 내 행의 백분율을 보고합니다.

이 프로필을 사용하면 올바르지 않은 값과 같은 데이터 문제를 식별할 수 있습니다. 예를 들어 두 개의 문자로 구성되어야 하는 미국 주 코드 열을 프로파일링하는 중 3자 이상의 값이 검색될 수 있습니다.
열 Null 비율 프로필 선택한 열 내 Null 값의 백분율을 보고합니다.

이 프로필을 사용하면 열에 포함된 지나치게 높은 null 값 비율과 같은 데이터 문제를 식별할 수 있습니다. 예를 들어 ZIP Code/Postal Code 열을 프로파일링하는 중 허용 불가능한 수준으로 높은 누락된 코드 백분율을 검색할 수 있습니다.
열 패턴 프로필 문자열 열의 지정된 값 비율을 포괄하는 정규식 집합을 보고합니다.

이 프로필을 사용하면 잘못된 스트링과 같은 데이터 문제를 식별할 수 있습니다. 또한 이 프로필은 앞으로 새 값의 유효성 검사에 사용할 수 있는 정규식을 제안해 줍니다. 예를 들어 미국의 우편 번호 열의 패턴 프로필은 \d{5}-\d{4}, \d{5} 및 \d{9} 정규식을 생성할 수 있습니다. 다른 정규식이 발견된다면 데이터에 유효하지 않거나 잘못된 형식의 값이 포함되어 있을 가능성이 높습니다.
열 통계 프로필 숫자 열의 최소값, 최대값, 평균, 표준 편차 및 datetime 열의 최소값, 최대값과 같은 통계를 보고합니다.

이 프로필을 사용하면 잘못된 날짜와 같은 데이터 문제를 식별할 수 있습니다. 예를 들어 기록 날짜 열을 프로파일링하여 미래의 최대 날짜를 검색할 수 있습니다.
열 값 분포 프로필 선택한 열에 있는 모든 고유 값 및 각 값이 나타내는 테이블 내 행의 백분율을 보고합니다. 또한 테이블에서 지정된 행 백분율을 초과하는 값을 보고할 수 있습니다.

이 프로필을 사용하면 열에 포함된 잘못된 고유 값 수와 같은 데이터 문제를 식별할 수 있습니다. 예를 들어 미국의 주가 포함되어야 하는 열을 프로파일링하는 중 50개를 초과하는 고유 값이 검색될 수 있습니다.

다음 세 개의 프로필은 열과 테이블 간의 여러 열 또는 관계를 분석합니다.

여러 열을 분석하는 프로필 설명
후보 키 프로필 열 또는 열 집합이 선택한 테이블에 대해 키인지, 아니면 근사 키인지 여부를 보고합니다.

이 프로필을 사용하면 잠재적인 키 열에 포함된 중복 값과 같은 데이터 문제를 식별할 수 있습니다.
함수 종속성 프로필 한 열(종속 열)의 값이 다른 열 또는 열 집합(결정 열)의 값에 종속되는 범위를 보고합니다.

이 프로필을 사용하면 잘못된 값과 같은 데이터 문제도 식별할 수 있습니다. 예를 들어 미국 우편 번호를 포함하는 열과 미국의 주를 포함하는 열 간의 종속성을 프로파일링할 수 있습니다. 동일한 우편 번호는 항상 동일한 상태를 가져야 하지만 프로필은 이 종속성의 위반을 검색합니다.
값 포함 프로필 두 개의 열 또는 열 집합 간에 겹치는 값을 계산합니다. 이 프로필은 열 또는 열 집합이 선택한 테이블 간의 외래 키 역할을 수행하기에 적합한지 여부를 확인할 수 있습니다.

이 프로필을 사용하면 잘못된 값과 같은 데이터 문제도 식별할 수 있습니다. 예를 들어 Sales 테이블의 ProductID 열을 프로파일하고 열에 Products 테이블의 ProductID 열에 없는 값이 포함되어 있는지 검색합니다.

유효한 프로필에 대한 필수 구성 요소

프로필이 유효하려면 비어 있지 않은 테이블과 열을 선택해야 하며 열에 포함된 데이터 형식이 프로필에 적합해야 합니다.

올바른 데이터 형식

사용 가능한 프로필 중 일부는 특정 데이터 형식에 대해서만 의미가 있습니다. 예를 들어 숫자 또는 datetime 값을 포함하는 열의 열 패턴 프로필 계산은 의미가 없습니다. 따라서 이러한 프로필은 유효하지 않게 됩니다.

프로필 올바른 데이터 형식*
ColumnStatisticsProfile 숫자 형식 또는 datetime 형식의 열(datetime 열의 경우 평균stddev 없음)
ColumnNullRatioProfile 모든 열**
ColumnValueDistributionProfile integer 형식, char 형식 및 datetime 형식의 열
ColumnLengthDistributionProfile char 형식의 열
ColumnPatternProfile char 형식의 열
CandidateKeyProfile integer 형식, char 형식 및 datetime 형식의 열
FunctionalDependencyProfile integer 형식, char 형식 및 datetime 형식의 열
InclusionProfile integer 형식, char 형식 및 datetime 형식의 열

* 위의 유효한 데이터 형식 표에서 integer, char, datetimenumeric 형식에는 다음과 같은 특정 데이터 형식이 포함됩니다.

정수 형식에는 bit, tinyint, smallint, intbigint가 포함됩니다.

문자 형식에는 char, nchar, varcharnvarchar 가 포함되지만 varchar(max)nvarchar(max)는 포함되지 않습니다.

날짜 및 시간 형식에는 datetime, smalldatetimetimestamp가 포함됩니다.

숫자 형식에는 integer 형식(비트 제외), money, smallmoney, decimal, float, realnumeric이 포함됩니다.

** image, text, XML, udtvariant 형식은 열 Null 비율 프로필 이외의 프로필에 대해서는 지원되지 않습니다.

유효한 테이블 및 열

테이블 또는 열이 비어 있는 경우 데이터 프로파일링은 다음 작업을 수행합니다.

  • 선택한 테이블 또는 뷰가 비어 있으면 데이터 프로파일링 태스크가 프로필을 컴퓨팅하지 않습니다.

  • 선택한 열의 모든 값이 Null이면 데이터 프로파일링 태스크가 열 Null 비율 프로필만 계산합니다. 태스크에서는 열 길이 분포 프로필, 열 패턴 프로필, 열 통계 프로필 또는 열 값 분포 프로필을 계산하지 않습니다.

데이터 프로파일링 태스크의 기능

데이터 프로파일링 태스크는 다음과 같은 편리한 구성 옵션을 제공합니다.

  • 와일드카드 열 프로필 요청을 구성하는 경우 태스크는 열 이름 대신 (*) 와일드카드를 허용합니다. 이렇게 하면 구성이 간소화되고 익숙하지 않은 데이터의 특성을 더 쉽게 검색할 수 있습니다. 태스크가 실행되면 태스크는 적절한 데이터 형식이 있는 모든 열을 프로파일합니다.

  • 빠른 프로필 빠른 프로필을 선택하여 작업을 신속하게 구성할 수 있습니다. 빠른 프로필은 모든 기본 프로필과 기본 설정을 사용하여 테이블 또는 뷰를 프로파일링합니다.

데이터 프로파일링 태스크에 사용할 수 있는 사용자 지정 로깅 메시지

다음 표에서는 데이터 프로파일링 태스크에 대한 사용자 지정 로그 항목을 나열합니다. 자세한 내용은 SSIS(Integration Services) 로깅을 참조하세요.

로그 항목 설명
DataProfilingTaskTrace 태스크 상태에 대한 설명 정보를 제공합니다. 메시지에는 다음 정보가 포함됩니다.

Start Processing Requests

Query Start

Query End

Finish Computing Request

Output and Its Schema

데이터 프로파일링 태스크는 선택한 프로필을 DataProfile.xsd 스키마에 따라 구조화된 XML로 출력합니다. 이 XML 출력이 파일 또는 패키지 변수에 저장되는지 여부를 지정할 수 있습니다. https://schemas.microsoft.com/sqlserver/2008/DataDebugger/에서 이 스키마를 온라인으로 볼 수 있습니다. 웹 페이지에서 스키마의 로컬 복사본을 저장할 수 있습니다. 그러면 Microsoft Visual Studio 또는 다른 스키마 편집기, XML 편집기, Windows 메모장과 같은 텍스트 편집기에서 이 스키마의 로컬 복사본를 볼 수 있습니다.

데이터 품질 정보에 대한 이 스키마는 다음과 같은 경우 유용할 수 있습니다.

  • 조직 내부 또는 조직 간의 데이터 품질 정보 교환

  • 데이터 품질 정보를 사용하는 사용자 지정 도구 빌드

대상 네임스페이스는 스키마에서 https://schemas.microsoft.com/sqlserver/2008/DataDebugger/로 식별됩니다.

패키지 조건부 워크플로의 출력

데이터 프로파일링 구성 요소에는 데이터 프로파일링 태스크의 출력을 기반으로 Integration Services 패키지의 워크플로에 조건부 논리를 구현하기 위한 기본 제공 기능이 없습니다. 그러나 이 논리는 스크립트 태스크를 사용하여 최소한의 프로그래밍 작업으로 손쉽게 추가할 수 있습니다. 이 코드는 XML 출력을 대상으로 XPath 쿼리를 수행한 다음 그 결과를 패키지 변수로 저장합니다. 스크립트 태스크를 후속 태스크에 연결하는 선행 제약 조건은 식을 사용하여 워크플로를 확인할 수 있습니다. 예를 들어 스크립트 태스크는 열에 있는 null 값의 백분율이 특정 임계값을 초과하는 것을 감지합니다. 이 경우 패키지를 중단하면 문제가 계속되기 전에 해결할 수 있습니다.

데이터 프로파일링 태스크 구성

데이터 프로파일링 태스크를 구성하려면 데이터 프로파일링 태스크 편집기를 사용합니다. 편집기에서 두 페이지가 있습니다.

일반 페이지
일반 페이지에서 출력 파일 또는 변수를 지정합니다. 빠른 프로필을 선택하여 기본 설정을 사용하여 프로필을 컴퓨팅하도록 작업을 신속하게 구성할 수도 있습니다. 자세한 내용은 단일 테이블 빠른 프로필 형식(데이터 프로파일링 태스크)을 참조하세요.

프로필 요청 페이지
프로필 요청 페이지에서 데이터 원본을 지정한 다음 계산하려는 데이터 프로필을 선택하고 구성합니다. 구성할 수 있는 다양한 프로필에 대한 자세한 내용은 다음 항목을 참조하세요.