구성 설정 관리

BigQuery 관리자와 프로젝트 소유자는 조직 및 프로젝트 수준에서 구성 설정을 관리할 수 있습니다. 구성을 설정하여 전체 데이터 인프라에서 보안을 적용하고, 비용을 관리하고, 쿼리 성능을 최적화할 수 있습니다. 기본값을 설정하면 일관된 규정 준수 및 운영 효율성을 보장하여 BigQuery 환경을 더 쉽게 관리할 수 있습니다.

다음 섹션에서는 기본 구성 설정을 지정하는 방법을 설명합니다. 기본 설정은 조직 또는 프로젝트 수준에서 구성되지만 세션 또는 작업 수준에서 재정의할 수 있습니다.

필요한 역할

구성 설정을 지정하는 데 필요한 권한을 얻으려면 관리자에게 BigQuery 관리자 (roles/bigquery.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 구성 설정을 지정하는 데 필요한 bigquery.config.update 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.

전역 설정 지정

조직 또는 프로젝트 수준에서 전역 설정을 지정할 수 있습니다.

제한사항

전역 구성 설정에는 다음과 같은 제한사항이 적용됩니다.

  • BigQuery Omni 위치에서는 전역 조직 및 프로젝트 설정을 사용할 수 없습니다.
  • default_location 전역 설정을 수정하면 적용되는 데 최대 10분이 걸릴 수 있습니다. 설정이 전파될 때까지 적격한 쿼리가 이전 기본 위치로 라우팅될 수 있습니다.

전역 조직 설정 구성

위치를 명시적으로 지정하지 않으면 다음 방법 중 하나로 위치가 결정됩니다.

  • 요청에서 참조된 데이터 세트의 위치입니다. 예를 들어 쿼리가 asia-northeast1 리전에 저장된 데이터 세트의 테이블 또는 뷰를 참조하는 경우 쿼리 작업은 asia-northeast1에서 실행됩니다.
  • 요청에서 참조된 연결에 지정된 리전입니다.
  • 대상 테이블의 위치입니다.

위치를 명시적으로 지정하지 않았으며 요청의 리소스에서 확인할 수 없는 경우 기본 위치가 사용됩니다. 기본 위치가 설정되지 않은 경우 작업은 US 멀티 리전에서 실행됩니다.

ALTER ORGANIZATION SET OPTIONS DDL 문을 사용하여 조직 수준에서 전역 설정을 구성할 수 있습니다. 기본 위치는 유일한 전역 조직 설정입니다. 기본 위치는 요청에서 위치를 추론할 수 없는 경우 작업을 실행하는 데 사용됩니다.

기본 위치를 구성할 때는 설정이 적용되는 리전을 지정하지 않습니다. 동일한 DDL 문에서 전역 설정과 리전 설정을 함께 사용할 수 없습니다.

조직 수준에서 default_location을 구성하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 쿼리 편집기를 클릭합니다. 이 탭의 라벨은 search_insights 제목 없는 쿼리입니다.

  3. default_location을 구성하려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = 'LOCATION'
      );

    LOCATION을 리전 또는 멀티 리전 위치로 바꿉니다. 이 값은 요청에서 추론할 수 없는 경우 작업을 실행하는 데 사용되는 위치입니다. 예를 들어 쿼리의 데이터 세트 위치를 확인할 수 없는 경우 기본 위치가 사용됩니다.

  4. 또는 default_location 조직 수준 전역 설정을 지우려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = NULL
      );
  5. 실행을 클릭합니다.

bq

  1. 조직 수준에서 default_location를 구성하려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false으로 설정합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = 'LOCATION'
      );

    LOCATION을 리전 또는 멀티 리전 위치로 바꿉니다. 이 값은 요청에서 추론할 수 없는 경우 작업을 실행하는 데 사용되는 위치입니다. 예를 들어 쿼리의 데이터 세트 위치를 확인할 수 없는 경우 기본 위치가 사용됩니다.

  2. 조직 수준에서 default_location를 지우려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `default_location` = NULL
      );

API

jobs.query 메서드를 호출하고 요청 본문의 query 속성에 DDL 문을 제공합니다.

DDL 기능은 작업 리소스에서 반환한 정보를 확장합니다. statistics.query.statementType에는 다음 추가 값이 포함됩니다.

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query에는 다음과 같은 2개의 추가 필드가 있습니다.

  • ddlOperationPerformed: 수행된 DDL 작업으로, DDL 타겟의 존재 여부에 종속될 수 있습니다. 현재 값에는 다음이 포함됩니다.
    • CREATE: 쿼리가 DDL 타겟을 만들었습니다.
    • SKIP: 노옵스(no-ops). 예 - CREATE TABLE IF NOT EXISTS가 제출되었는데 테이블이 존재합니다. 또는 DROP TABLE IF EXISTS가 제출되었는데 테이블이 존재하지 않습니다.
    • REPLACE: 쿼리가 DDL 타겟을 대체했습니다. 예시 - CREATE OR REPLACE TABLE이 제출되었으며 테이블이 이미 있습니다.
    • DROP: 쿼리가 DDL 타겟을 삭제했습니다.
  • ddlTargetTable: CREATE TABLE/VIEW 문 또는 DROP TABLE/VIEW 문을 제출하면 타겟 테이블이 3개의 필드가 있는 객체로 반환됩니다.
    • 'projectId': 문자열
    • 'datasetId': 문자열
    • 'tableId': 문자열

전역 프로젝트 설정 구성

위치를 명시적으로 지정하지 않으면 다음 방법 중 하나로 위치가 결정됩니다.

  • 요청에서 참조된 데이터 세트의 위치입니다. 예를 들어 쿼리가 asia-northeast1 리전에 저장된 데이터 세트의 테이블 또는 뷰를 참조하는 경우 쿼리 작업은 asia-northeast1에서 실행됩니다.
  • 요청에서 참조된 연결에 지정된 리전입니다.
  • 대상 테이블의 위치입니다.

위치를 명시적으로 지정하지 않았으며 요청의 리소스에서 확인할 수 없는 경우 기본 위치가 사용됩니다. 기본 위치가 설정되지 않은 경우 작업은 US 멀티 리전에서 실행됩니다.

ALTER PROJECT SET OPTIONS DDL 문을 사용하여 프로젝트 수준에서 전역 설정을 구성할 수 있습니다. ALTER PROJECT SET OPTIONS DDL 문은 선택적으로 PROJECT_ID 변수를 허용합니다. PROJECT_ID를 지정하지 않으면 기본값은 ALTER PROJECT DDL 문을 실행하는 현재 프로젝트입니다.

기본 위치는 유일한 전역 프로젝트 설정입니다. 기본 위치를 구성할 때는 설정이 적용되는 리전을 지정하지 않습니다. 동일한 DDL 문에서 전역 설정과 리전 설정을 혼합할 수 없습니다.

프로젝트 수준 구성은 조직 수준 구성을 재정의합니다. 프로젝트 수준 구성은 세션 수준 구성으로 재정의될 수 있으며, 이는 작업 수준 구성에서 재정의할 수 있습니다.

프로젝트 수준에서 default_location를 구성하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 쿼리 편집기를 클릭합니다. 이 탭의 라벨은 search_insights 제목 없는 쿼리입니다.

  3. default_location을 구성하려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = 'LOCATION'
      );

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.

    • LOCATION: 리전 또는 멀티 리전 위치입니다. 이 값은 요청에서 추론할 수 없는 경우 작업을 실행하는 데 사용되는 위치입니다. 예를 들어 쿼리의 데이터 세트 위치를 확인할 수 없는 경우 기본 위치가 사용됩니다.

  4. 또는 default_location 설정을 지우려면 쿼리 편집기에 다음 DDL 문을 입력합니다. 프로젝트 수준에서 default_location을 지우면 조직 수준 기본 설정이 사용됩니다(있는 경우). 그렇지 않으면 시스템 기본 설정이 사용됩니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = NULL
      );
  5. 실행을 클릭합니다.

bq

  1. 프로젝트 수준에서 default_location를 구성하려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false으로 설정합니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = 'LOCATION'
      );

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • LOCATION: 리전 또는 멀티 리전 위치입니다. 이 값은 요청에서 추론할 수 없는 경우 작업을 실행하는 데 사용되는 위치입니다. 예를 들어 쿼리의 데이터 세트 위치를 확인할 수 없는 경우 기본 위치가 사용됩니다.
  2. 또는 프로젝트 수준에서 default_location를 지우려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다. 프로젝트 수준에서 default_location를 선택 해제하면 조직 수준 기본 설정이 있는 경우 해당 설정이 사용됩니다. 그렇지 않으면 시스템 기본 설정이 사용됩니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `default_location` = NULL
      );

API

jobs.query 메서드를 호출하고 요청 본문의 query 속성에 DDL 문을 제공합니다.

DDL 기능은 작업 리소스에서 반환한 정보를 확장합니다. statistics.query.statementType에는 다음 추가 값이 포함됩니다.

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query에는 다음과 같은 2개의 추가 필드가 있습니다.

  • ddlOperationPerformed: 수행된 DDL 작업으로, DDL 타겟의 존재 여부에 종속될 수 있습니다. 현재 값에는 다음이 포함됩니다.
    • CREATE: 쿼리가 DDL 타겟을 만들었습니다.
    • SKIP: 노옵스(no-ops). 예 - CREATE TABLE IF NOT EXISTS가 제출되었는데 테이블이 존재합니다. 또는 DROP TABLE IF EXISTS가 제출되었는데 테이블이 존재하지 않습니다.
    • REPLACE: 쿼리가 DDL 타겟을 대체했습니다. 예시 - CREATE OR REPLACE TABLE이 제출되었으며 테이블이 이미 있습니다.
    • DROP: 쿼리가 DDL 타겟을 삭제했습니다.
  • ddlTargetTable: CREATE TABLE/VIEW 문 또는 DROP TABLE/VIEW 문을 제출하면 타겟 테이블이 3개의 필드가 있는 객체로 반환됩니다.
    • 'projectId': 문자열
    • 'datasetId': 문자열
    • 'tableId': 문자열

지역 설정 지정

조직 또는 프로젝트 수준에서 지역 설정을 구성할 수 있습니다.

리전별 조직 설정 구성

ALTER ORGANIZATION SET OPTIONS DDL 문을 사용하여 조직 수준에서 리전 설정을 구성할 수 있습니다. 각 조직 설정이 적용되는 리전을 지정해야 합니다. 문에는 하나의 리전만 사용할 수 있습니다.

지역별 조직 설정을 구성하려면 다음 단계를 따르세요. 다음 예에서는 다음을 포함한 여러 기본 리전별 구성을 지정합니다.

  • 시간대: America/Chicago
  • Cloud KMS 키: 사용자 정의 키
  • 쿼리 제한 시간: 30분 (1,800,000밀리초)
  • 대화형 쿼리 큐 제한 시간: 10분 (600,000밀리초)
  • 일괄 쿼리 대기열 제한 시간: 20분 (1,200,000밀리초)

모든 지역 조직 설정을 확인하려면 organization_set_options_list으로 이동하세요.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 쿼리 편집기를 클릭합니다. 이 탭의 라벨은 search_insights 제목 없는 쿼리입니다.

  3. 지역 조직 설정을 구성하려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `region-REGION.default_time_zone`= 'America/Chicago',
      -- Ensure all service accounts under the organization have permission to KMS_KEY
      `region-REGION.default_kms_key_name` = KMS_KEY,
      `region-REGION.default_query_job_timeout_ms` = 1800000,
      `region-REGION.default_interactive_query_queue_timeout_ms` = 600000,
      `region-REGION.default_batch_query_queue_timeout_ms` = 1200000);

    다음을 바꿉니다.

    • REGION: 프로젝트 또는 조직과 연결된 리전(예: us 또는 europe-west6) REGION 값은 명령어의 각 옵션에 대해 동일해야 합니다.
    • KMS_KEY: 사용자 정의 Cloud KMS 키. 자세한 내용은 고객 관리 Cloud KMS 키를 참고하세요.
  4. 또는 리전 조직 설정을 지우려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `region-REGION.default_time_zone` = NULL,
      `region-REGION.default_kms_key_name` = NULL,
      `region-REGION.default_query_job_timeout_ms` = NULL,
      `region-REGION.default_interactive_query_queue_timeout_ms` = NULL,
      `region-REGION.default_batch_query_queue_timeout_ms` = NULL);
  5. 실행을 클릭합니다.

bq

리전 조직 설정을 구성하려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다.

  ALTER ORGANIZATION
  SET OPTIONS (
  `region-REGION.default_time_zone`= 'America/Chicago',
  -- Ensure all service accounts under the organization have permission to KMS_KEY
  `region-REGION.default_kms_key_name` = KMS_KEY,
  `region-REGION.default_query_job_timeout_ms` = 1800000,
  `region-REGION.default_interactive_query_queue_timeout_ms` = 600000,
  `region-REGION.default_batch_query_queue_timeout_ms` = 1200000);

다음을 바꿉니다.

  • REGION: 프로젝트 또는 조직과 연결된 리전(예: us 또는 europe-west6) REGION 값은 명령어의 각 옵션에 대해 동일해야 합니다.
  • KMS_KEY: 사용자 정의 Cloud KMS 키. 자세한 내용은 고객 관리 Cloud KMS 키를 참고하세요.

또는 리전 조직 설정을 지우려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다.

ALTER ORGANIZATION
SET OPTIONS (
  `region-REGION.default_time_zone` = NULL,
  `region-REGION.default_kms_key_name` = NULL,
  `region-REGION.default_query_job_timeout_ms` = NULL,
  `region-REGION.default_interactive_query_queue_timeout_ms` = NULL,
  `region-REGION.default_batch_query_queue_timeout_ms` = NULL,
  `region-REGION.default_storage_billing_model`= NULL,
  `region-REGION.default_max_time_travel_hours` = NULL,
  `region-REGION.default_cloud_resource_connection_id` = NULL,
  `region-REGION.default_sql_dialect_option` = NULL,
  `region-REGION.enable_reservation_based_fairness` = NULL,
  `region-REGION.enable_global_queries_execution` = NULL,
  `region-REGION.enable_global_queries_data_access` = NULL);

API

jobs.query 메서드를 호출하고 요청 본문의 query 속성에 DDL 문을 제공합니다.

DDL 기능은 작업 리소스에서 반환한 정보를 확장합니다. statistics.query.statementType에는 다음 추가 값이 포함됩니다.

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query에는 다음과 같은 2개의 추가 필드가 있습니다.

  • ddlOperationPerformed: 수행된 DDL 작업으로, DDL 타겟의 존재 여부에 종속될 수 있습니다. 현재 값에는 다음이 포함됩니다.
    • CREATE: 쿼리가 DDL 타겟을 만들었습니다.
    • SKIP: 노옵스(no-ops). 예 - CREATE TABLE IF NOT EXISTS가 제출되었는데 테이블이 존재합니다. 또는 DROP TABLE IF EXISTS가 제출되었는데 테이블이 존재하지 않습니다.
    • REPLACE: 쿼리가 DDL 타겟을 대체했습니다. 예시 - CREATE OR REPLACE TABLE이 제출되었으며 테이블이 이미 있습니다.
    • DROP: 쿼리가 DDL 타겟을 삭제했습니다.
  • ddlTargetTable: CREATE TABLE/VIEW 문 또는 DROP TABLE/VIEW 문을 제출하면 타겟 테이블이 3개의 필드가 있는 객체로 반환됩니다.
    • 'projectId': 문자열
    • 'datasetId': 문자열
    • 'tableId': 문자열

리전 프로젝트 설정 구성

ALTER PROJECT SET OPTIONS DDL 문을 사용하여 프로젝트 수준에서 지역 설정을 구성할 수 있습니다. 구성을 지정할 때 구성을 적용할 리전을 지정해야 합니다. 각 문에 하나의 리전만 사용할 수 있습니다.

프로젝트 수준 구성은 조직 수준 구성을 재정의합니다. 프로젝트 수준 구성은 세션 수준 구성으로 재정의될 수 있으며, 이는 작업 수준 구성에서 재정의할 수 있습니다.

ALTER PROJECT SET OPTIONS DDL 문은 선택적으로 PROJECT_ID 변수를 허용합니다. PROJECT_ID 변수를 지정하지 않으면 ALTER PROJECT DDL 문을 실행하는 현재 프로젝트가 기본값입니다.

다음 예에서는 다음을 비롯한 여러 리전별 프로젝트 수준 설정을 지정합니다.

  • 시간대: America/Los_Angeles
  • Cloud KMS 키: 예시 키
  • 쿼리 제한 시간: 1시간 (1,800,000밀리초)
  • 대화형 쿼리 큐 제한 시간: 10분 (600,000밀리초)
  • 일괄 쿼리 대기열 제한 시간: 20분 (1,200,000밀리초)
  • 예약 기반 공정성: 사용 설정됨
  • 전역 쿼리: 실행 및 데이터 액세스에 사용 설정됨

모든 리전별 프로젝트 설정을 확인하려면 project_set_options_list으로 이동하세요.

콘솔

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 쿼리 편집기를 클릭합니다. 이 탭의 라벨은 search_insights 제목 없는 쿼리입니다.

  3. 리전별 프로젝트 설정을 구성하려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

     ALTER PROJECT PROJECT_ID
     SET OPTIONS (
     `region-REGION.default_time_zone` = 'America/Los_Angeles',
     -- Ensure all service accounts under the project have permission to KMS_KEY
     `region-REGION.default_kms_key_name` = KMS_KEY,
     `region-REGION.default_query_job_timeout_ms` = 3600000,
     `region-REGION.default_interactive_query_queue_timeout_ms` = 600000,
     `region-REGION.default_batch_query_queue_timeout_ms` = 1200000,
     `region-REGION.enable_reservation_based_fairness` = true,
    `region-REGION.enable_global_queries_execution` = true,
    `region-REGION.enable_global_queries_data_access` = true);

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • REGION: 프로젝트 또는 조직과 연결된 리전(예: us 또는 europe-west6) REGION 값은 명령어의 각 옵션에 대해 동일해야 합니다.
    • KMS_KEY: 사용자 정의 Cloud KMS 키입니다. 자세한 내용은 고객 관리 Cloud KMS 키를 참조하세요.
  4. 또는 리전 프로젝트 설정을 지우려면 쿼리 편집기에 다음 DDL 문을 입력합니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `region-REGION.default_time_zone` = NULL,
      `region-REGION.default_kms_key_name` = NULL,
      `region-REGION.default_query_job_timeout_ms` = NULL,
      `region-REGION.default_interactive_query_queue_timeout_ms` = NULL,
      `region-REGION.default_batch_query_queue_timeout_ms` = NULL,
      `region-REGION.enable_reservation_based_fairness` = false);
  5. 실행을 클릭합니다.

bq

  1. 리전 프로젝트 설정을 구성하려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다.

      ALTER PROJECT PROJECT_ID
      SET OPTIONS (
      `region-REGION.default_time_zone`= 'America/Chicago',
      -- Ensure all service accounts under the organization have permission to KMS_KEY
      `region-REGION.default_kms_key_name` = KMS_KEY,
      `region-REGION.default_query_job_timeout_ms` = 1800000,
      `region-REGION.default_interactive_query_queue_timeout_ms` = 600000,
      `region-REGION.default_batch_query_queue_timeout_ms` = 1200000,
      `region-REGION.enable_reservation_based_fairness` = true);

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • REGION: 프로젝트 또는 조직과 연결된 리전(예: us 또는 europe-west6) REGION 값은 명령어의 각 옵션에 대해 동일해야 합니다.
    • KMS_KEY: 사용자 정의 Cloud KMS 키. 자세한 내용은 고객 관리 Cloud KMS 키를 참고하세요.
  2. 또는 리전 프로젝트 설정을 지우려면 bq query 명령어를 입력하고 다음 DDL 문을 쿼리 매개변수로 입력합니다. use_legacy_sql 플래그를 false로 설정합니다.

      ALTER ORGANIZATION
      SET OPTIONS (
      `region-REGION.default_time_zone` = NULL,
      `region-REGION.default_kms_key_name` = NULL,
      `region-REGION.default_query_job_timeout_ms` = NULL,
      `region-REGION.default_interactive_query_queue_timeout_ms` = NULL,
      `region-REGION.default_batch_query_queue_timeout_ms` = NULL,
      `region-REGION.enable_reservation_based_fairness` = false,
    `region-REGION.enable_global_queries_execution` = NULL,
    `region-REGION.enable_global_queries_data_access` = NULL);

API

jobs.query 메서드를 호출하고 요청 본문의 query 속성에 DDL 문을 제공합니다.

DDL 기능은 작업 리소스에서 반환한 정보를 확장합니다. statistics.query.statementType에는 다음 추가 값이 포함됩니다.

  • CREATE_TABLE
  • CREATE_TABLE_AS_SELECT
  • DROP_TABLE
  • CREATE_VIEW
  • DROP_VIEW

statistics.query에는 다음과 같은 2개의 추가 필드가 있습니다.

  • ddlOperationPerformed: 수행된 DDL 작업으로, DDL 타겟의 존재 여부에 종속될 수 있습니다. 현재 값에는 다음이 포함됩니다.
    • CREATE: 쿼리가 DDL 타겟을 만들었습니다.
    • SKIP: 노옵스(no-ops). 예 - CREATE TABLE IF NOT EXISTS가 제출되었는데 테이블이 존재합니다. 또는 DROP TABLE IF EXISTS가 제출되었는데 테이블이 존재하지 않습니다.
    • REPLACE: 쿼리가 DDL 타겟을 대체했습니다. 예시 - CREATE OR REPLACE TABLE이 제출되었으며 테이블이 이미 있습니다.
    • DROP: 쿼리가 DDL 타겟을 삭제했습니다.
  • ddlTargetTable: CREATE TABLE/VIEW 문 또는 DROP TABLE/VIEW 문을 제출하면 타겟 테이블이 3개의 필드가 있는 객체로 반환됩니다.
    • 'projectId': 문자열
    • 'datasetId': 문자열
    • 'tableId': 문자열

구성 설정 가져오기

다음 INFORMATION_SCHEMA 뷰를 사용하여 조직 또는 프로젝트의 구성 설정을 볼 수 있습니다.

새 구성이 적용되고 INFORMATION_SCHEMA 뷰 내에 반영되기까지 몇 분 정도 걸릴 수 있습니다.

필요한 역할

구성 설정을 가져오는 데 필요한 권한을 얻으려면 관리자에게 지정된 프로젝트에 대한 BigQuery 작업 사용자 (roles/bigquery.jobUser) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 구성 설정을 가져오는 데 필요한 bigquery.config.get 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 가져올 수도 있습니다.

BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.

예시

다음 쿼리 예시를 사용하여 INFORMATION_SCHEMA 뷰에서 프로젝트 및 조직 설정을 가져옵니다.

전체 설정 보기

모든 전역 조직 설정을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

기본 위치 조직 설정만 보려면 다음 쿼리를 실행합니다.

SELECT
    option_value
FROM INFORMATION_SCHEMA.ORGANIZATION_OPTIONS
WHERE option_name = 'default_location'

기본 프로젝트의 모든 유효한 전역 구성을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

기본 프로젝트의 기본 위치에 적용되는 전역 구성만 보려면 다음 쿼리를 실행합니다.

SELECT
    option_value
FROM INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS
WHERE option_name = 'default_location'

기본 프로젝트의 모든 전역 구성을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM INFORMATION_SCHEMA.PROJECT_OPTIONS;

기본 프로젝트의 기본 위치 설정만 보려면 다음 쿼리를 실행합니다.

SELECT
    option_value
FROM INFORMATION_SCHEMA.PROJECT_OPTIONS
WHERE option_name = 'default_location'

지역 설정 보기

us 리전의 조직 아래에 있는 구성을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

us 리전의 기본 프로젝트 아래에서 유효한 구성을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

us 리전의 기본 프로젝트 아래에 있는 구성을 보려면 다음 쿼리를 실행합니다.

SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;

구성 설정

다음 섹션에서는 지정할 수 있는 구성 설정을 설명합니다.

쿼리 및 작업 실행 설정

다음 설정을 사용하여 쿼리가 실행, 시간 지정, 대기열에 추가되는 방식을 제어합니다.

  • default_batch_query_queue_timeout_ms: 일괄 쿼리가 queued되는 기본 시간(밀리초)입니다. 설정되지 않은 경우 기본값은 24시간입니다. 최솟값은 1밀리초입니다. 최댓값은 48시간입니다. 일괄 쿼리 큐 추가를 사용 중지하려면 값을 -1로 설정합니다.
  • default_interactive_query_queue_timeout_ms: 대화형 쿼리가 큐에 추가되는 기본 시간(밀리초)입니다. 설정되지 않은 경우 기본값은 6시간입니다. 최솟값은 1밀리초입니다. 최댓값은 48시간입니다. 대화형 쿼리 큐 추가를 사용 중지하려면 값을 -1로 설정합니다.
  • default_query_job_timeout_ms: 작업이 큐에 저장되는 시간과 실행 소비 시간을 포함하여 쿼리 작업이 타임아웃된 이후의 기본 시간입니다. 제한 시간은 5분에서 48시간 사이여야 합니다. 이 제한 시간은 개별 쿼리 작업 및 스크립트의 하위 작업에만 적용됩니다. 스크립트 작업의 제한 시간을 설정하려면 jobs.insert API 메서드를 사용하고 jobTimeoutMs 필드를 설정해야 합니다.

  • default_location: 위치가 설정되지 않았거나 확인할 수 없는 경우 작업을 실행하는 데 default_location 구성 설정이 사용됩니다. default_location이 설정되지 않은 경우 작업은 US 멀티 리전에서 실행됩니다.

  • enable_reservation_based_fairness: 유휴 슬롯이 공유되는 방식을 결정하는 옵션입니다. 기본값은 false입니다. 즉, 유휴 슬롯이 모든 쿼리 프로젝트에 균등하게 분배됩니다. 사용 설정된 경우 유휴 슬롯은 먼저 모든 예약에 균등하게 공유된 다음 예약 내의 프로젝트에 공유됩니다. 자세한 내용은 예약 기반 공정성을 참고하세요. 이 옵션은 프로젝트 수준에서만 지원됩니다. 조직 또는 작업 수준에서는 지정할 수 없습니다.

  • default_time_zone: 시간대가 인수로 지정되지 않은 경우 시간대 종속 GoogleSQL 함수에 사용할 기본 시간대입니다. 이 구성은 시간 단위 열로 파티션을 나눈 테이블(UTC를 시간대로 사용), Storage Transfer Service 일정 전송 또는 bq 명령줄 도구로 데이터 로드에 적용되지 않습니다. 자세한 내용은 시간대를 참조하세요.

  • default_query_optimizer_options: 기록 기반 쿼리 최적화입니다. 이 옵션은 다음 중 하나일 수 있습니다.

    • 'adaptive=on': 기록 기반 쿼리 최적화를 사용합니다.
    • 'adaptive=off': 기록 기반 쿼리 최적화를 사용하지 않습니다.
    • NULL(기본값): 'adaptive=on'와 동일한 기본 기록 기반 쿼리 최적화 설정을 사용합니다.
  • default_sql_dialect_option: bq 명령줄 도구 또는 BigQuery API를 사용하여 쿼리 작업을 실행하는 기본 SQL 쿼리 언어입니다. 이 설정을 변경해도 콘솔의 기본 다이얼렉트에는 영향을 미치지 않습니다. 이 옵션은 다음 중 하나일 수 있습니다.

    • 'default_legacy_sql' (기본값): 쿼리 언어가 작업 수준에서 지정되지 않은 경우 legacy SQL을 사용합니다.
    • 'default_google_sql': 작업 수준에서 쿼리 언어가 지정되지 않은 경우 GoogleSQL을 사용합니다.
    • 'only_google_sql': 작업 수준에서 쿼리 언어가 지정되지 않은 경우 GoogleSQL을 사용합니다. 쿼리 언어가 legacy SQL로 설정된 작업을 거부합니다.
    • NULL: 'default_legacy_sql'과 동일한 기본 쿼리 언어 설정을 사용합니다.
  • enable_global_queries_execution: 전역 쿼리를 실행할 수 있는지 여부를 결정하는 옵션입니다. 기본값은 FALSE이며, 이는 전역 쿼리가 사용 설정되지 않음을 의미합니다.

  • enable_global_queries_data_access: 전역 쿼리가 리전에 저장된 데이터에 액세스할 수 있는지 여부를 결정하는 옵션입니다. 기본값은 FALSE이며, 이는 전역 쿼리가 실행되는 프로젝트와 관계없이 이 리전에서 데이터를 복사할 수 없음을 의미합니다.

데이터 관리 설정

다음 설정을 사용하여 데이터 생성, 보안, 수명 주기에 관한 규칙을 정의합니다.

  • default_column_name_character_map: 열 이름의 문자 기본 범위 및 처리입니다. 설정하지 않으면 열 이름에 지원되지 않는 문자를 사용하는 로드 작업이 오류 메시지와 함께 실패합니다. 일부 이전 테이블은 열 이름에서 지원되지 않는 문자를 대체하도록 설정되어 있을 수 있습니다. 자세한 내용은 load_option_list를 참조하세요.
  • default_kms_key_name: 임시 또는 익명 테이블을 포함한 테이블 데이터 암호화를 위한 기본 Cloud Key Management Service 키입니다. 자세한 내용은 고객 관리 Cloud KMS 키를 참조하세요.

  • default_max_time_travel_hours: 새 데이터 세트의 기본 시간 이동 기간(시간)입니다. 이 기간은 48~168시간(양 끝 값 포함) 범위 내에 있어야 하며 24로 나누어져야 합니다. 기본 최대 시간 이동 기간(시간)을 변경해도 기존 데이터 세트에는 영향을 미치지 않습니다. 자세한 내용은 시간 이동 및 데이터 보관을 참고하세요.

비용 및 리소스 설정

다음 설정을 사용하여 리소스의 청구 및 연결 방식을 결정합니다.

  • default_storage_billing_model: 새 데이터 세트의 기본 스토리지 청구 모델입니다. 값을 PHYSICAL로 설정하여 스토리지 요금을 계산할 때 물리적 바이트를 사용하거나 LOGICAL로 설정하여 논리 바이트를 사용합니다. 기본 스토리지 청구 모델을 변경해도 기존 데이터 세트에는 영향을 미치지 않습니다. 자세한 내용은 스토리지 청구 모델을 참고하세요.
  • default_cloud_resource_connection_id: 테이블과 모델을 만들 때 사용할 기본 연결입니다. 연결의 ID 또는 이름만 지정하고 연결된 프로젝트 ID 및 리전 접두사는 제외합니다. 기본 연결을 사용하면 생성하는 테이블 또는 모델 유형에 따라 연결의 서비스 계정에 부여된 권한이 업데이트될 수 있습니다. 자세한 내용은 기본 연결 개요를 참고하세요.

가격 책정

BigQuery 구성 서비스를 사용하는 데 추가 비용이 청구되지 않습니다. 자세한 내용은 가격 책정을 참조하세요.