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")] |
  +----------------+---------------+-------------+---------------------------------+------------------------+