기본 구성 관리
이 문서에서는 조직 또는 프로젝트 수준에서 기본 구성 설정을 만들고 검색하는 방법을 설명합니다.
BigQuery 내에서 기본 설정을 구성하면 작업을 관리하는 데 도움이 됩니다. 이 서비스를 사용하는 설정은 조직 또는 프로젝트 수준에서 구성되지만 세션 또는 작업 수준에서 재정의할 수 있습니다. 기본 설정을 관련 조직 정책과 함께 구성하여 기본 동작을 적용할 수 있습니다.
가격 책정
BigQuery 구성 서비스를 사용하는 데 추가 비용이 청구되지 않습니다. 자세한 내용은 가격 책정을 참조하세요.
기본 구성
다음과 같은 기본 구성 설정을 지정할 수 있습니다.
default_batch_query_queue_timeout_ms
: 일괄 쿼리가 큐에 추가되는 기본 시간(밀리초)입니다. 설정되지 않은 경우 기본값은 24시간입니다. 최솟값은 1밀리초입니다. 최댓값은 48시간입니다. 일괄 쿼리 큐 추가를 사용 중지하려면 값을 -1로 설정합니다.default_column_name_character_map
: 열 이름의 문자 기본 범위 및 처리입니다. 설정하지 않으면 열 이름에 지원되지 않는 문자를 사용하는 로드 작업이 오류 메시지와 함께 실패합니다. 일부 이전 테이블은 열 이름에서 지원되지 않는 문자를 대체하도록 설정되어 있을 수 있습니다. 자세한 내용은load_option_list
를 참조하세요.default_interactive_query_queue_timeout_ms
: 대화형 쿼리가 큐에 추가되는 기본 시간(밀리초)입니다. 설정되지 않은 경우 기본값은 6시간입니다. 최솟값은 1밀리초입니다. 최댓값은 48시간입니다. 대화형 쿼리 큐 추가를 사용 중지하려면 값을 -1로 설정합니다.default_kms_key_name
: 임시 또는 익명 테이블을 포함한 테이블 데이터 암호화를 위한 기본 Cloud Key Management Service 키입니다. 자세한 내용은 고객 관리 Cloud KMS 키를 참조하세요.default_query_job_timeout_ms
: 작업이 큐에 저장되는 시간과 실행 소비 시간을 포함하여 쿼리 작업이 타임아웃된 이후의 기본 시간입니다. 제한 시간은 5분에서 6시간 사이여야 합니다. 이 제한 시간은 개별 쿼리 작업 및 스크립트의 하위 작업에만 적용됩니다. 스크립트 작업의 제한 시간을 설정하려면 jobs.insert API 메서드를 사용하고jobTimeoutMs
필드를 설정해야 합니다.default_query_optimizer_options
: 기록 기반 쿼리 최적화입니다. 이 옵션은 다음 중 하나일 수 있습니다.'adaptive=on'
: 기록 기반 쿼리 최적화를 사용합니다.'adaptive=off'
: 기록 기반 쿼리 최적화를 사용하지 않습니다.NULL
(기본값):'adaptive=off'
와 동일한 기본 기록 기반 쿼리 최적화 설정을 사용합니다.
default_time_zone
: 시간대가 인수로 지정되지 않은 경우 시간대 종속 SQL 함수에 사용할 기본 시간대입니다. 이 구성은 시간 단위 열로 파티션을 나눈 테이블(UTC를 시간대로 사용), Storage Transfer Service 일정 전송 또는 bq 명령줄 도구로 데이터 로드에 적용되지 않습니다. 자세한 내용은 시간대를 참조하세요.default_storage_billing_model
: 새 데이터 세트의 기본 스토리지 청구 모델입니다. 값을 PHYSICAL로 설정하여 스토리지 요금을 계산할 때 물리적 바이트를 사용하거나 LOGICAL로 설정하여 논리 바이트를 사용합니다. 기본 스토리지 청구 모델을 변경해도 기존 데이터 세트에는 영향을 미치지 않습니다. 자세한 내용은 스토리지 청구 모델을 참고하세요.default_max_time_travel_hours
: 새 데이터 세트의 기본 시간 이동 기간(시간)입니다. 이 기간은 48~168시간(양 끝 값 포함) 범위 내에 있어야 하며 24로 나누어져야 합니다. 기본 최대 시간 이동 기간(시간)을 변경해도 기존 데이터 세트에는 영향을 미치지 않습니다. 자세한 내용은 시간 이동을 참조하세요.
기본 구성 만들기
이 섹션에서는 구성을 만드는 방법을 설명합니다.
필수 권한
구성을 만들려면 bigquery.config.update
Identity and Access Management(IAM) 권한이 필요합니다. 사전 정의된 IAM 역할 roles/bigquery.admin
에는 구성을 만드는 데 필요한 권한이 포함됩니다.
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
기본 설정 구성
다음 SQL 문을 사용하여 조직 또는 프로젝트 수준에서 기본 설정을 구성할 수 있습니다. 구성을 만들 때 구성을 적용할 리전을 지정해야 합니다. 각 문에 하나의 리전만 사용할 수 있습니다.
조직 설정 구성
조직 설정을 구성하려면 ALTER ORGANIZATION SET OPTIONS
DDL 문을 사용합니다.
다음 예시에서는 기본 시간대를 America/Chicago
로 설정하고, 기본 Cloud KMS 키를 사용자가 정의한 키로 설정하고, 기본 쿼리 제한 시간을 30분으로 설정하고, 기본 대화형 쿼리 큐 제한 시간을 10분으로 설정하고 기본 일괄 쿼리 큐 제한 시간을 20분으로 설정합니다.
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-REGION.default_storage_billing_model`= PHYSICAL, `region-REGION.default_max_time_travel_hours` = 72);
다음을 바꿉니다.
- REGION: 프로젝트 또는 조직과 연결된 리전. 예를 들면
us
또는europe-west6
입니다. - KMS_KEY: 사용자 정의 Cloud KMS 키. Cloud KMS 키에 대한 자세한 내용은 고객 관리 Cloud KMS 키를 참조하세요.
다음 예시에서는 모든 조직 수준의 기본 설정을 삭제합니다.
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);
프로젝트 설정 구성
프로젝트 설정을 구성하려면 ALTER PROJECT SET OPTIONS
DDL 문을 사용합니다.
ALTER PROJECT SET OPTIONS
DDL 문은 선택적으로 project_id
변수를 허용합니다. project_id
를 지정하지 않으면 기본값은 쿼리가 실행되는 현재 프로젝트입니다.
다음 예시에서는 기본 시간대를 America/Los_Angeles
로 설정하고, 기본 Cloud KMS 키를 예시 키로 설정하고, 기본 쿼리 타임아웃을 1시간으로 설정하고, 기본 대화형 쿼리 큐 타임아웃을 10분으로 설정하고, 기본 일괄 쿼리 큐 타임아웃을 20분으로 설정합니다.
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.default_storage_billing_model`= PHYSICAL, `region-REGION.default_max_time_travel_hours` = 72);
다음 예시에서는 프로젝트 수준의 모든 기본 설정을 삭제합니다. 기본 설정이 있으면 모든 조직 수준 기본 설정이 사용됩니다. 그렇지 않으면 모든 기본 설정이 전역 기본값으로 설정됩니다.
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.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL);
프로젝트 수준 구성은 조직 수준 구성을 재정의합니다. 프로젝트 수준 구성은 세션 수준 구성으로 재정의될 수 있으며, 이는 작업 수준 구성에서 재정의할 수 있습니다.
구성 값 검색
정보 스키마를 보면 조직 또는 프로젝트의 기본 구성 설정을 볼 수 있습니다. 쿼리할 뷰는 다음 세 가지입니다.
INFORMATION_SCHEMA.PROJECT_OPTIONS
: 프로젝트에 적용된 구성입니다.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS
: 프로젝트에 적용된 유효한 구성입니다. 유효한 구성에는 프로젝트 수준에서 설정된 모든 구성과 조직에서 프로젝트로 상속된 모든 설정이 포함됩니다.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS
: 조직에 적용된 구성
새 구성이 적용되고 INFORMATION_SCHEMA
뷰 내에 반영되기까지 몇 분 정도 걸릴 수 있습니다.
필수 권한
구성 값을 검색하려면 bigquery.config.get
IAM 권한이 필요합니다.
사전 정의된 다음 각 IAM 역할에는 INFORMATION_SCHEMA
뷰에서 구성을 가져오는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.jobUser
roles/bigquery.dataEditor
roles/bigquery.dataUser
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
예시
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;