SCHEMATA_OPTIONS 뷰
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
뷰에는 프로젝트의 각 데이터 세트에 설정된 각 옵션에 대한 하나의 행이 포함되어 있습니다.
시작하기 전에
데이터 세트 메타데이터에 대해 SCHEMATA_OPTIONS
뷰를 쿼리하려면 프로젝트 수준에서 bigquery.datasets.get
Identity and Access Management(IAM) 권한이 필요합니다.
다음과 같은 각 사전 정의된 IAM 역할에는 SCHEMATA_OPTIONS
뷰를 가져오기 위해 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
BigQuery 권한에 대한 자세한 내용은 IAM으로 액세스 제어를 참조하세요.
스키마
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
뷰를 쿼리할 때 쿼리 결과에는 프로젝트의 각 데이터 세트에 설정된 각 옵션에 대한 하나의 행이 포함됩니다.
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
뷰에는 다음과 같은 스키마가 있습니다.
열 이름 | 데이터 유형 | 값 |
---|---|---|
CATALOG_NAME |
STRING |
데이터 세트가 포함된 프로젝트 이름 |
SCHEMA_NAME |
STRING |
데이터 세트 이름(또는 datasetId 라고 함) |
OPTION_NAME |
STRING |
옵션의 이름입니다. 지원되는 옵션 목록은 스키마 옵션 목록을 참조하세요.
|
OPTION_TYPE |
STRING |
옵션의 데이터 유형입니다. |
OPTION_VALUE |
STRING |
옵션의 값입니다. |
범위 및 구문
이 뷰에 대한 쿼리에는 리전 한정자가 있어야 합니다. 리전 한정자를 지정하지 않으면 미국 리전에서 메타데이터가 검색됩니다. 다음 표에는 이 뷰의 리전 범위가 나와 있습니다.
뷰 이름 | 리소스 범위 | 리전 범위 |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
프로젝트 수준 | 미국 리전 |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS |
프로젝트 수준 | REGION |
(선택사항) PROJECT_ID
: Google Cloud 프로젝트의 ID입니다. 지정하지 않으면 기본 프로젝트가 사용됩니다.
REGION
: 모든 데이터 세트 리전 이름입니다.
예를 들면 `region-us`
입니다.
예시
-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA_OPTIONS;
예시
프로젝트의 모든 데이터 세트에 대한 기본 테이블 만료 시간 검색
기본 프로젝트가 아닌 프로젝트에 쿼리를 실행하려면 프로젝트 ID를 다음 형식으로 데이터 세트에 추가합니다.
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
입니다.
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'default_table_expiration_days';
결과는 다음과 비슷합니다.
+----------------+---------------+-------------------------------+-------------+---------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------------------------+-------------+---------------------+ | myproject | mydataset3 | default_table_expiration_days | FLOAT64 | 0.08333333333333333 | | myproject | mydataset2 | default_table_expiration_days | FLOAT64 | 90.0 | | myproject | mydataset1 | default_table_expiration_days | FLOAT64 | 30.0 | +----------------+---------------+-------------------------------+-------------+---------------------+
프로젝트에서 모든 데이터 세트의 라벨 검색
기본 프로젝트가 아닌 프로젝트에 쿼리를 실행하려면 프로젝트 ID를 다음 형식으로 데이터 세트에 추가합니다.
`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
`myproject`.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
.
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA_OPTIONS WHERE option_name = 'labels';
결과는 다음과 비슷합니다.
+----------------+---------------+-------------+---------------------------------+------------------------+ | catalog_name | schema_name | option_name | option_type | option_value | +----------------+---------------+-------------+---------------------------------+------------------------+ | myproject | mydataset1 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | | myproject | mydataset2 | labels | ARRAY<STRUCT<STRING, STRING>> | [STRUCT("org", "dev")] | +----------------+---------------+-------------+---------------------------------+------------------------+