Mengelola konfigurasi default

Dokumen ini menjelaskan cara membuat dan mengambil setelan konfigurasi default di tingkat organisasi atau project.

Untuk membantu mengelola tugas, Anda dapat mengonfigurasi setelan default dalam BigQuery. Setelan yang menggunakan layanan ini dikonfigurasi di tingkat organisasi atau project, tetapi dapat diganti di tingkat sesi atau tugas. Anda dapat mengonfigurasi setelan default bersama dengan kebijakan organisasi terkait untuk menerapkan perilaku default.

Harga

Tidak ada biaya tambahan untuk menggunakan layanan konfigurasi BigQuery. Untuk informasi selengkapnya, lihat harga.

Konfigurasi default

Anda dapat menentukan setelan konfigurasi default berikut:

  • default_batch_query_queue_timeout_ms: Jumlah waktu default, dalam milidetik, saat kueri batch dimasukkan ke antrean. Jika tidak disetel, defaultnya adalah 24 jam. Nilai minimumnya adalah 1 milidetik. Nilai maksimumnya adalah 48 jam. Untuk menonaktifkan antrean kueri batch, setel nilai ke -1.
  • default_column_name_character_map: Cakupan dan penanganan karakter default dalam nama kolom. Jika tidak ditetapkan, tugas pemuatan yang menggunakan karakter yang tidak didukung dalam nama kolom akan gagal dengan pesan error. Beberapa tabel lama mungkin ditetapkan untuk mengganti karakter yang tidak didukung dalam nama kolom. Untuk informasi selengkapnya, lihat load_option_list.
  • default_interactive_query_queue_timeout_ms: Jumlah waktu default, dalam milidetik, saat kueri interaktif dimasukkan ke antrean. Jika tidak disetel, default-nya adalah enam jam. Nilai minimumnya adalah 1 milidetik. Nilai maksimumnya adalah 48 jam. Untuk menonaktifkan antrean kueri interaktif, setel nilai ke -1.
  • default_kms_key_name: Kunci Cloud Key Management Service default untuk mengenkripsi data tabel, termasuk tabel sementara atau anonim. Untuk informasi lebih lanjut, lihat Kunci Cloud KMS yang dikelola pelanggan.
  • default_query_job_timeout_ms: Waktu default saat waktu tugas kueri habis, termasuk waktu tugas diantrekan dan waktu yang dihabiskan untuk berjalan. Periode waktu tunggu habis harus antara lima menit hingga enam jam.
  • default_query_optimizer_options: Pengoptimalan kueri berbasis histori. Opsi ini dapat berupa salah satu dari hal berikut:

    • 'adaptive=on': Menggunakan pengoptimalan kueri berbasis histori.
    • 'adaptive=off': Jangan gunakan pengoptimalan kueri berbasis histori.
    • NULL (default): Gunakan setelan pengoptimalan kueri berbasis histori default, yang setara dengan 'adaptive=off'.
  • default_time_zone: Zona waktu default untuk digunakan dalam fungsi SQL yang bergantung pada zona waktu, jika zona waktu tidak ditentukan sebagai argumen. Konfigurasi ini tidak berlaku untuk tabel berpartisi kolom satuan waktu (yang menggunakan UTC sebagai zona waktu), transfer jadwal Storage Transfer Service, atau memuat data dengan alat command line bq. Untuk informasi selengkapnya, lihat zona waktu.

  • default_storage_billing_model: Model penagihan penyimpanan default untuk set data baru. Tetapkan nilai ke PHYSICAL untuk menggunakan byte fisik saat menghitung biaya penyimpanan atau ke LOGICAL untuk menggunakan byte logika. Perhatikan bahwa mengubah model penagihan penyimpanan default tidak memengaruhi set data yang ada. Untuk mengetahui informasi selengkapnya, lihat Model Penagihan Penyimpanan.

  • default_max_time_travel_hours: Periode perjalanan waktu default dalam jam untuk set data baru. Durasi ini harus dalam rentang 48 hingga 168, inklusif, dan harus habis dibagi 24. Mengubah jam perjalanan waktu maksimum default tidak akan memengaruhi set data yang ada. Untuk mengetahui informasi selengkapnya, lihat Perjalanan Waktu.

Membuat konfigurasi default

Bagian ini menjelaskan cara membuat konfigurasi.

Izin yang diperlukan

Untuk membuat konfigurasi, Anda memerlukan izin Identity and Access Management (IAM) bigquery.config.update. Peran IAM bawaan roles/bigquery.admin mencakup izin yang Anda perlukan untuk membuat konfigurasi.

Untuk informasi selengkapnya tentang peran dan izin IAM dalam BigQuery, baca Peran dan izin bawaan.

Mengonfigurasi setelan default

Anda dapat mengonfigurasi setelan default di tingkat organisasi atau project menggunakan pernyataan SQL berikut. Saat membuat konfigurasi, Anda harus menentukan region tempat konfigurasi tersebut diterapkan. Anda hanya dapat menggunakan satu region untuk setiap pernyataan.

Mengonfigurasi setelan organisasi

Untuk mengonfigurasi setelan organisasi, gunakan pernyataan DDL ALTER ORGANIZATION SET OPTIONS. Contoh berikut menetapkan zona waktu default ke America/Chicago, kunci Cloud KMS default ke kunci yang ditentukan pengguna, waktu tunggu kueri default ke 30 menit, waktu tunggu antrean kueri interaktif default ke 10 menit, dan waktu tunggu antrean kueri batch default ke 20 menit:

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);

Ganti kode berikut:

  • REGION: region yang terkait dengan project atau organisasi Anda. Misalnya, us atau europe-west6.
  • KMS_KEY: kunci Cloud KMS yang ditentukan pengguna. Untuk mengetahui informasi selengkapnya tentang kunci Cloud KMS, lihat Kunci Cloud KMS yang dikelola pelanggan.

Contoh berikut menghapus semua setelan default tingkat organisasi:

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);

Konfigurasikan setelan project

Untuk mengonfigurasi setelan project, gunakan pernyataan DDL ALTER PROJECT SET OPTIONS. Pernyataan DDL ALTER PROJECT SET OPTIONS secara opsional menerima variabel project_id. Jika tidak ditentukan, project_id akan ditetapkan secara default ke project saat ini tempat kueri berjalan. Contoh berikut menetapkan zona waktu default ke America/Los_Angeles, kunci Cloud KMS default ke kunci contoh, waktu tunggu kueri default ke 1 jam, waktu tunggu antrean kueri interaktif default ke 10 menit, dan waktu tunggu antrean kueri batch default hingga 20 menit:

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);

Contoh berikut menghapus semua setelan default tingkat project. Setelan default menggunakan setelan default tingkat organisasi apa pun, jika ada. Jika tidak, semua setelan default akan ditetapkan ke default global.

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);

Konfigurasi tingkat project akan mengganti konfigurasi tingkat organisasi. Konfigurasi tingkat project kemudian dapat diganti oleh konfigurasi tingkat sesi, yang dapat diganti oleh konfigurasi tingkat tugas.

Mengambil nilai konfigurasi

Anda dapat melihat setelan konfigurasi default untuk organisasi atau project dengan melihat skema informasi. Ada tiga tampilan yang berbeda untuk kueri:

Mungkin perlu waktu beberapa menit agar konfigurasi baru menjadi efektif dan ditampilkan dalam tampilan INFORMATION_SCHEMA.

Izin yang diperlukan

Untuk mengambil nilai konfigurasi, Anda memerlukan izin IAM bigquery.config.get.

Setiap peran IAM bawaan berikut mencakup izin yang Anda perlukan untuk mendapatkan konfigurasi dari tampilan INFORMATION_SCHEMA:

  • roles/bigquery.jobUser
  • roles/bigquery.dataEditor
  • roles/bigquery.dataUser

Untuk informasi selengkapnya tentang peran dan izin IAM dalam BigQuery, baca Peran dan izin bawaan.

Contoh

Untuk melihat konfigurasi di bagian organisasi dalam region us, jalankan kueri berikut:

SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;

Untuk melihat konfigurasi yang efektif pada project default Anda di region us, jalankan kueri berikut:

SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;

Untuk melihat konfigurasi pada project default Anda di region us, jalankan kueri berikut:

SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;