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 옵션의 이름입니다. 지원되는 옵션 목록은 스키마 옵션 목록을 참조하세요.

storage_billing_model 옵션은 2022년 12월 1일 이후에 업데이트된 데이터 세트에만 표시됩니다. 이 날짜 이전에 마지막으로 업데이트된 데이터 세트의 경우 스토리지 청구 모델은 LOGICAL입니다.

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