카테고리:

시스템 함수

EXTRACT_SEMANTIC_CATEGORIES

지정된 테이블 또는 뷰에서 지원되는 각 열에 대한 카테고리 세트(의미론적 및 개인정보 보호)를 반환합니다. 열에 대한 카테고리를 반환하려면 열은 분류를 지원하면서 모든 NULL 값을 포함하지는 않는 데이터 타입 을 사용해야 합니다.

카테고리는 열에 포함된 메타데이터 및 데이터, 그리고 열 및 데이터에 대한 메타데이터에서 파생됩니다. 개인정보 보호 카테고리는 생성된 의미론적 카테고리가 있는 경우 이에 의존합니다.

참고 항목:

시스템 태그 및 카테고리시스템 태그 및 카테고리

구문

EXTRACT_SEMANTIC_CATEGORIES( '<object_name>' [ , <max_rows_to_scan> ] )
Copy

인자

필수:

object_name

분류할 열을 포함하는 테이블, 외부 테이블, 뷰 또는 구체화된 뷰의 이름입니다. 데이터베이스와 스키마가 현재 세션에서 사용되지 않는 경우 이름은 정규화되어야 합니다.

이름은 데이터베이스에 저장된 대로 정확하게 지정해야 합니다. 이름에 특수 문자, 대문자 또는 공백이 포함된 경우 이름은 먼저 큰따옴표로 묶은 다음 작은따옴표로 묶어야 합니다.

선택 사항:

max_rows_to_scan

지정된 테이블/뷰에서 분류 카테고리를 결정하는 데 사용할 행의 샘플 크기입니다.

유효한 값: 1 - 10000

기본값: 10000

반환

대표적인 예로, JSON 오브젝트의 구조는 다음과 같습니다.

{
  "valid_value_ratio": 1.0,
  "recommendation": {
    "semantic_category": "PASSPORT",
    "privacy_category": "IDENTIFIER",
    "confidence": "HIGH",
    "coverage": 0.7,
    "details": [
      {
        "semantic_category": "US_PASSPORT",
        "coverage": 0.7
      },
      {
        "semantic_category": "CA_PASSPORT",
        "coverage": 0.1
      }
    ]
  },
  "alternates": [
    {
      "semantic_category": "NATIONAL_IDENTIFIER",
      "privacy_category": "IDENTIFIER",
      "confidence": "LOW",
      "coverage": 0.3,
      "details": [
        {
          "semantic_category": "US_SSN",
          "privacy_category": "IDENTIFIER",
          "coverage": 0.3
        }
      ]
    }
  ]
}
Copy

여기서:

valid_value_ratio

샘플 크기에서 유효한 값의 비율을 지정합니다. 유효하지 않은 값에는 NULL, 빈 문자열, 256자를 초과하는 문자열이 포함됩니다.

recommendation

각 태그 및 값에 대한 정보를 지정합니다. 포함되는 정보는 다음과 같습니다.

semantic_category

의미 체계 카테고리 태그 값을 지정합니다.

가능한 태그 값은 시스템 태그 및 카테고리시스템 태그 및 카테고리 섹션을 참조하십시오.

privacy_category

개인정보 보호 카테고리 태그 값을 지정합니다.

가능한 값은 IDENTIFIER, QUASI-IDENTIFIER, SENSITIVE 입니다.

confidence

HIGH, MEDIUM 또는 LOW 중 하나의 값을 지정합니다. 이 값은 Snowflake가 열 샘플링 프로세스를 기반으로 한 상대적 신뢰도와 열 데이터가 Snowflake의 데이터 분류 방식에 맞춰 조정되는 방식을 나타냅니다.

coverage

특정 카테고리에 대한 규칙과 일치하는 샘플링된 셀 값의 백분율을 지정합니다.

details

SEMANTIC_CATEGORY 태그의 지리적 태그 값을 지정할 수 있는 필드와 값을 지정합니다.

alternates

권장 태그 외에 고려해야 할 각 태그와 값에 대한 정보를 지정합니다.

사용법 노트

스캔할 행 수에 대해 기본값(10000)을 사용하여 my_db.my_schema.hr_data 테이블에 대한 의미론적 및 개인정보 보호 카테고리를 추출합니다.

USE ROLE data_engineer;

USE WAREHOUSE classification_wh;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

이전 예와 동일하지만, 테이블에서 5000개 행만 스캔하도록 제한됩니다.

USE ROLE data_engineer;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
Copy

첫 번째 예와 같지만, 결과를 테이블에 저장합니다.

USE ROLE data_engineer;

CREATE OR REPLACE TABLE classification_results(v VARIANT) AS
  SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

결과가 테이블에 저장되면, ASSOCIATE_SEMANTIC_CATEGORY_TAGS 를 사용하여 적용하기 전에 결과를 수정할 수 있습니다.