다음을 통해 공유


정보 schema

적용 대상:체크 표시 있음 Databricks SQL 체크 표시 있음 Databricks Runtime 10.4 LTS 이상 {이상} 적용됨 체크 표시 있음 Unity Catalog만 적용됨

INFORMATION_SCHEMA은 Unity Catalog에서 생성된 모든 catalog에 제공되는 SQL 표준 기반의 schema입니다.

정보 schema안에서 당신이 볼 수 있는 특권이 있는 schema의 catalog에 알려진 개체를 설명하는 views의 set을 찾을 수 있습니다. 정보 schema는 메타스토어 내의 모든 catalogs의 개체에 대한 SYSTEMcatalog 정보를 반환합니다. 정보 schema 시스템 tableshive_metastore 개체에 대한 메타데이터를 포함하지 않습니다.

schema 정보의 목적은 메타데이터에 대한 SQL 기반의 자체 설명 API를 제공하는 것입니다.

schema 정보에 대한 엔터티 관계 다이어그램

다음 ER(엔터티 관계) 다이어그램은 정보 schemaviews 하위 집합과 정보 집합이 서로 어떻게 관련되는지에 대한 개요를 제공합니다.

정보 schema ER 다이어그램

정보 schemaviews

속성 설명
CATALOG_PRIVILEGES 권한이 있는 보안 주체를 나열합니다.
CATALOG_PROVIDER_SHARE_USAGE catalogs탑재된 공급자 공유에 대해 설명합니다.
CATALOG_TAGS catalogs에 적용된 태그들을 포함합니다.
CATALOGS "catalogs을 설명합니다."
CHECK_CONSTRAINTS 향후 사용을 위해 예약되어 있습니다.
COLUMN_MASKS catalog에 있는 tablecolumns의 column 마스크에 대해 설명합니다.
COLUMN_TAGS table내의 column 태그 지정 메타데이터를 포함합니다.
COLUMNS catalog에서 tables 및 views의 columns을 설명합니다.
CONNECTION_PRIVILEGES 외국 권한이 있는 보안 주체 나열합니다.
CONNECTIONS 외국의 connections을 설명합니다.
CONSTRAINT_COLUMN_USAGE catalog에서 columns를 참조하는 제약 조건에 대해 설명합니다.
CONSTRAINT_TABLE_USAGE catalog에서 tables을 참조하는 제약 조건을 설명합니다.
CREDENTIAL_PRIVILEGES 권한이 있는 보안 주체를 나열합니다.
CREDENTIALS credentials을 설명합니다.
EXTERNAL_LOCATION_PRIVILEGES 외부 위치에 대한 권한이 있는 보안 주체를 나열합니다.
EXTERNAL_LOCATIONS 외부 위치를 설명합니다.
INFORMATION_SCHEMA_CATALOG_NAME catalog schema이 정보의 이름을 반환합니다.
KEY_COLUMN_USAGE catalog내 기본 또는 외래 키 제약 조건의 columns을 나열합니다.
METASTORE_PRIVILEGES 현재 메타스토어에 대한 권한이 있는 보안 주체를 나열합니다.
METASTORES 현재 메타스토어를 설명합니다.
PARAMETERS catalog의 routines(함수)에서 parameters을 설명합니다.
PROVIDERS 이것은 providers을 설명합니다.
RECIPIENT_ALLOWED_IP_RANGES recipients허용된 IP 범위를 나열합니다.
RECIPIENT_TOKENS recipients대한 토큰을 나열합니다.
RECIPIENTS recipients에 대해 설명합니다.
REFERENTIAL_CONSTRAINTS catalog에 정의된 외래 키(참조) 제약 조건을 설명합니다.
ROUTINE_COLUMNS table 값 함수의 결과 columns을 설명합니다.
ROUTINE_PRIVILEGES 권한이 있는 보안 주체를 나열합니다.
ROUTINES routines(함수)에 대해 catalog에서 설명합니다.
ROW_FILTERS tables의 행 필터를 catalog에서 설명합니다.
SCHEMA_PRIVILEGES 스키마에 권한이 있는 보안 주체를 나열합니다.
SCHEMA_TAGS schema내에서 schema 태그 지정 메타데이터를 포함합니다.
SCHEMA_SHARE_USAGE shares에서 참조되는 스키마에 대해 설명합니다.
SCHEMATA catalog내의 스키마에 대해 설명합니다.
SHARE_RECIPIENT_PRIVILEGES recipients이(가) shares에 부여된 액세스를 설명합니다.
SHARES shares에 대해 설명합니다.
STORAGE_CREDENTIAL_PRIVILEGES [사용되지 않음] 스토리지 권한이 있는 보안 주체 나열합니다.
STORAGE_CREDENTIALS [사용되지 않음] 스토리지 credentials설명합니다.
TABLE_CONSTRAINTS catalog내의 모든 기본 및 외래 키 제약 조건에 대한 메타데이터를 설명합니다.
TABLE_PRIVILEGES 권한이 있는 보안 주체 나열합니다.
TABLE_SHARE_USAGE tables에 대한 설명은 shares에 있습니다.
TABLE_TAGS table내의 table 태그 지정 메타데이터를 포함합니다.
TABLES catalog내에 정의된 tables 및 views을 설명합니다.
VIEWS catalog내 views에 대한 뷰 관련 특정 정보를 설명합니다.
VOLUMES catalog에서 정의된 volumes를 설명합니다.
VOLUME_PRIVILEGES 권한이 있는 보안 주체를 나열합니다.
VOLUME_TAGS 볼륨에 적용된 볼륨 태그 지정 메타데이터를 포함합니다.

주의

식별자는 SQL 문에서 참조할 때 대/소문자를 구분하지 않지만 정보 schema에 STRING로 저장됩니다. 즉, identifier이 저장된 사례를 사용하여 찾아보거나, 같은 함수를 이용하여와 ilike를 수행해야 합니다.

예제

> SELECT table_name, column_name
    FROM information_schema.columns
    WHERE data_type = 'DOUBLE'
      AND table_schema = 'information_schema';

다음은 schematables시스템 수준 정보를 사용하는 워크플로의 예입니다.

지난 24시간 동안 만들어진 모든 tables 보려면 쿼리가 다음과 같을 수 있습니다.

> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
    FROM system.information_schema.tables
    WHERE  datediff(now(), last_altered) < 1;

각 schema에 있는 tables의 개수를 확인하려면 다음 예를 참고하세요.

> SELECT table_schema, count(table_name)
    FROM system.information_schema.tables
    WHERE table_schema = 'tpch'
    GROUP BY table_schema
    ORDER BY 2 DESC