Share via


리소스 집합 패턴 규칙 만들기

대규모 데이터 처리 시스템은 일반적으로 스토리지에 단일 테이블을 여러 파일로 저장합니다. 이 개념은 리소스 집합을 사용하여 Microsoft Purview에 표시됩니다. 리소스 집합은 스토리지에 있는 많은 수의 자산을 나타내는 데이터 카탈로그의 단일 개체입니다. 자세한 내용은 리소스 집합 이해를 참조하세요.

스토리지 계정을 검사할 때 Microsoft Purview는 정의된 패턴 집합을 사용하여 자산 그룹이 리소스 집합인지 확인합니다. 경우에 따라 Microsoft Purview의 리소스 집합 그룹화가 데이터 자산을 정확하게 반영하지 못할 수 있습니다. 리소스 집합 패턴 규칙을 사용하면 Microsoft Purview가 리소스 집합으로 그룹화된 자산과 카탈로그 내에 표시되는 방식을 검색하는 방법을 사용자 지정하거나 재정의할 수 있습니다.

패턴 규칙은 현재 다음 원본 형식에서 지원됩니다.

  • Azure Data Lake Storage Gen2
  • Azure Blob 저장소
  • Azure Files
  • Amazon S3

리소스 집합 패턴 규칙을 만들려면 고급 리소스 집합 기능 집합을 사용하도록 설정해야 합니다. 자세한 내용은 고급 리소스 집합 이해를 참조하세요.

리소스 집합 패턴 규칙을 만드는 방법

아래 단계에 따라 새 리소스 집합 패턴 규칙을 만듭니다.

  1. 데이터 맵으로 이동합니다. 원본 관리 제목 아래의 메뉴에서 패턴 규칙을 선택합니다. + 새로 만들기를 선택하여 새 규칙 집합을 만듭니다.

    새 리소스 집합 패턴 규칙 만들기

  2. 리소스 집합 패턴 규칙의 scope 입력합니다. 스토리지 계정 유형 및 규칙 집합을 만들 스토리지 계정의 이름을 선택합니다. 각 규칙 집합은 폴더 경로 필드에 지정된 폴더 경로 scope 기준으로 적용됩니다.

    리소스 집합 패턴 규칙 구성 만들기

  3. 구성 scope 대한 규칙을 입력하려면 + 새 규칙을 선택합니다.

  4. 다음 필드에 를 입력하여 규칙을 만듭니다.

    1. 규칙 이름: 구성 규칙의 이름입니다. 이 필드는 규칙이 적용되는 자산에 영향을 주지 않습니다.

    2. 정규화된 이름: 텍스트, 동적 교체기 및 정적 교체기의 조합을 사용하여 자산을 구성 규칙과 일치시키는 정규화된 경로입니다. 이 경로는 구성 규칙의 scope 상대적입니다. 정규화된 이름을 지정하는 방법에 대한 자세한 지침은 아래 구문 섹션을 참조하세요.

    3. 표시 이름: 자산의 표시 이름입니다. 이 필드는 선택 사항입니다. 일반 텍스트 및 정적 교체기를 사용하여 자산이 카탈로그에 표시되는 방식을 사용자 지정합니다. 자세한 지침은 아래 구문 섹션을 참조하세요.

    4. 리소스 집합으로 그룹화하지 마세요 . 사용하도록 설정하면 일치하는 리소스가 리소스 집합으로 그룹화되지 않습니다.

      새 구성 규칙을 만듭니다.

  5. 추가를 선택하여 규칙을 저장합니다.

참고

패턴 규칙을 만든 후에는 모든 새 검사가 수집 중에 규칙을 적용합니다. 데이터 카탈로그의 기존 자산은 최대 몇 시간이 걸릴 수 있는 백그라운드 프로세스를 통해 업데이트됩니다.

패턴 규칙 구문

리소스 집합 패턴 규칙을 만들 때 다음 구문을 사용하여 적용되는 자산 규칙을 지정합니다.

동적 교체기(단일 대괄호)

단일 대괄호는 패턴 규칙에서 동적 대체자로 사용됩니다. 형식 {<replacerName:<replacerType>}을 사용하여 정규화된 이름으로 동적 교체기를 지정합니다. 일치하는 경우 동적 교체는 자산을 리소스 집합으로 나타내야 함을 나타내는 그룹화 조건으로 사용됩니다. 자산이 리소스 집합으로 그룹화되면 리소스 집합 정규화된 경로에 대체자가 지정된 위치가 포함 {replacerName} 됩니다.

예를 들어 두 자산이 folder1/file-1.csv 규칙{folder:string}/file-{NUM:int}.csvfolder2/file-2.csv 일치하는 경우 리소스 집합은 단일 엔터티 입니다{folder}/file-{NUM}.csv.

특수 사례: 리소스 집합으로 그룹화하지 않을 때 동적 교체기

패턴 규칙에 대해 리소스 집합으로 그룹화하지 않음 을 사용하도록 설정한 경우 대체자 이름은 선택적 필드입니다. {:<replacerType>} 는 유효한 구문입니다. 예를 들어 는 file-{:int}.csv 에 대해 file-1.csv 성공적으로 일치하고 file-2.csv 리소스 집합 대신 두 개의 서로 다른 자산을 만듭니다.

정적 교체기(이중 대괄호)

이중 대괄호는 패턴 규칙의 정규화된 이름에서 정적 대체자로 사용됩니다. 형식 {{<replacerName>:<replacerType>}}을 사용하여 정규화된 이름으로 정적 교체기를 지정합니다. 일치하는 경우 고유한 정적 교체기 값 집합마다 다른 리소스 집합 그룹화가 만들어집니다.

예를 들어 두 개의 자산 folder1/file-1.csv 이 규칙{{folder:string}}/file-{NUM:int}.csvfolder2/file-2.csv 일치하면 두 개의 리소스 집합이 만들어 folder1/file-{NUM}.csv 지고 folder2/file-{NUM}.csv입니다.

정적 교체기를 사용하여 패턴 규칙과 일치하는 자산의 표시 이름을 지정할 수 있습니다. 규칙의 표시 이름에서 를 사용하면 {{<replacerName>}} 자산 이름에 일치하는 값이 사용됩니다.

사용 가능한 대체 유형

다음은 정적 및 동적 교체기에서 사용할 수 있는 사용 가능한 형식입니다.

유형 구조
문자열 공백과 같은 구분 기호를 포함하여 하나 이상의 유니코드 문자 시리즈입니다.
int 1개 이상의 0~9개 ASCII 문자는 접두사 0개(예: 0001)일 수 있습니다.
GUID RFC 4122에 정의된 UUID의 32 또는 8-4-4-4-12 문자열 표현입니다.
date RFC 3339에 지정된 yyyymmdd, yyyy-mm-dd, yymmdd, yy-mm-dd 등 선택적으로 구분 기호가 있는 6 또는 8 0-9 ASCII 문자 시리즈입니다.
시간 선택적으로 구분 기호가 있는 4개 또는 6개의 0-9 ASCII 문자( HHmm, HH:mm, HHmmss, HH:mm:ss)는 RFC 3339에 지정됩니다.
타임 스탬프 yyyy-mm-ddTHH:mm, yyyymmddhhmm, y-mm-ddTHH:mm:ss, RFC 3339에 지정된 ymmddHHmmss 등 선택적으로 구분 기호가 있는 12개 또는 14개의 0-9 ASCII 문자 시리즈입니다.
부울 대/소문자를 구분하지 않는 'true' 또는 'false'를 포함할 수 있습니다.
0개 이상의 0-9 ASCII 문자로 구성된 0개 접두사(예: 0001) 뒤에 점 '.'과 1개 이상의 0-9 ASCII 문자가 일련의 접두사(예: .100)가 될 수 있습니다.
16 진수 집합 0-1 및 A-F에서 하나 이상의 ASCII 문자의 시리즈, 값은 0 접두사일 수 있습니다.
로캘 RFC 5646에 지정된 구문과 일치하는 문자열입니다.

리소스 집합 패턴 규칙 적용 순서

다음은 패턴 규칙을 적용하기 위한 작업 순서입니다.

  1. 자산이 두 규칙과 일치하는 경우 보다 구체적인 범위가 우선합니다. 예를 들어 scope 규칙은 scope container/folder 규칙 container앞에 적용됩니다.

  2. 특정 scope 내의 규칙 순서입니다. UX에서 편집할 수 있습니다.

  3. 자산이 지정된 규칙과 일치하지 않는 경우 기본 리소스 집합 추론이 적용됩니다.

예제

예 1

전체 및 델타 로드로 SAP 데이터 추출

입력

파일:

  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_01.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_02.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/delta/2020/01/15/saptable_customer_20200101_20200102_01.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_01.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_02.txt

패턴 규칙

범위:https://myazureblob.blob.core.windows.net/bar/

표시 이름: '외부 고객'

정규화된 이름:customer/{extract:string}/{year:int}/{month:int}/{day:int}/saptable_customer_{date_from:date}_{date_to:time}_{sequence:int}.txt

리소스 집합: true

출력

하나의 리소스 집합 자산

표시 이름: 외부 고객

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/customer/{extract}/{year}/{month}/{day}/saptable_customer_{date_from}_{date_to}_{sequence}.txt

예 2

avro 형식의 IoT 데이터

입력

파일:

  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro

패턴 규칙

범위:https://myazureblob.blob.core.windows.net/bar/

규칙 1

표시 이름: 'machine-89'

정규화된 이름:raw/machinename-89/{date:date}/{time:time}-{id:int}.avro

리소스 집합: true

규칙 2

표시 이름: 'machine-90'

정규화된 이름:raw/machinename-90/{date:date}/{time:time}-{id:int}.avro

리소스 집합: true

출력

두 개의 리소스 집합

리소스 집합 1

표시 이름: machine-89

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro

리소스 집합 2

표시 이름: machine-90

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro

예 3

avro 형식의 IoT 데이터

입력

파일:

  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.netbar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro

패턴 규칙

범위:https://myazureblob.blob.core.windows.net/bar/

표시 이름: 'Machine-{{machineid}}'

정규화된 이름:raw/machinename-{{machineid:int}}/{date:date}/{time:time}-{id:int}.avro

리소스 집합: true

출력

리소스 집합 1

표시 이름: machine-89

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro

리소스 집합 2

표시 이름: machine-90

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro

예 4

리소스 집합으로 그룹화하지 않음

입력

파일:

  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro

패턴 규칙

범위:https://myazureblob.blob.core.windows.net/bar/

표시 이름:Machine-{{machineid}}

정규화된 이름:raw/machinename-{{machineid:int}}/{{:date}}/{{:time}}-{{:int}}.avro

리소스 집합: false

출력

개별 자산 4개

자산 1

표시 이름: machine-89

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro

자산 2

표시 이름: machine-89

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro

자산 3

표시 이름: machine-89

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro

자산 4

표시 이름: machine-90

정규화된 이름:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro

다음 단계

Azure Data Lake Gen2 스토리지 계정을 등록하고 검사하여 시작합니다.