Mengelola tabel
Dokumen ini menjelaskan cara mengelola tabel di BigQuery. Anda dapat mengelola tabel BigQuery dengan cara berikut:
- Memperbarui properti tabel:
- Mengganti nama (menyalin) tabel
- Menyalin tabel
- Menghapus tabel
- Memulihkan tabel yang dihapus
Untuk informasi selengkapnya tentang cara membuat dan menggunakan tabel, termasuk mendapatkan informasi tabel, mencantumkan tabel, dan mengontrol akses ke data tabel, lihat Membuat dan menggunakan tabel.
Sebelum memulai
Berikan peran Identity and access Management (IAM) yang memberi pengguna izin yang diperlukan untuk melakukan setiap tugas dalam dokumen ini. Izin yang diperlukan untuk melakukan tugas (jika ada) tercantum di bagian "Izin yang diperlukan" pada tugas.
Memperbarui properti tabel
Anda dapat memperbarui elemen tabel berikut:
Izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna memperbarui properti tabel, minta administrator untuk memberi Anda peran IAM Data Editor (roles/bigquery.dataEditor
) pada tabel.
Untuk informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk memperbarui properti tabel. Untuk melihat izin pasti yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui properti tabel:
-
bigquery.tables.update
-
bigquery.tables.get
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lain.
Selain itu, jika memiliki izin bigquery.datasets.create
, Anda dapat memperbarui properti tabel set data yang Anda buat.
Memperbarui deskripsi tabel
Anda dapat memperbarui deskripsi tabel dengan cara berikut:
- Menggunakan Konsol Google Cloud.
- Menggunakan pernyataan
ALTER TABLE
bahasa definisi data (DDL). - Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
tables.patch
. - Menggunakan library klien.
Untuk memperbarui deskripsi tabel:
Konsol
Anda tidak dapat menambahkan deskripsi saat membuat tabel menggunakan Konsol Google Cloud. Setelah tabel dibuat, Anda dapat menambahkan deskripsi di halaman Details.
Di panel Explorer, luaskan project dan set data Anda, lalu pilih tabel.
Di panel detail, klik Details.
Di bagian Description, klik ikon pensil untuk mengedit deskripsi.
Masukkan deskripsi di kotak, lalu klik Update untuk menyimpan.
SQL
Gunakan pernyataan ALTER TABLE SET OPTIONS
.
Contoh berikut memperbarui deskripsi tabel bernama mytable
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER TABLE mydataset.mytable SET OPTIONS ( description = 'Description of mytable');
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Jalankan perintah
bq update
dengan flag--description
. Jika Anda memperbarui tabel dalam project selain project default, tambahkan project ID ke nama set data dalam format berikut:project_id:dataset
.bq update \ --description "description" \ project_id:dataset.table
Ganti kode berikut:
description
: teks yang menjelaskan tabel dalam tanda kutipproject_id
: project ID Anda.dataset
: nama set data yang berisi tabel yang Anda perbaruitable
: nama tabel yang Anda perbarui
Contoh:
Untuk mengubah deskripsi tabel
mytable
dalam set datamydataset
menjadi "Description of mytable", masukkan perintah berikut. Set datamydataset
berada di project default Anda.bq update --description "Description of mytable" mydataset.mytable
Untuk mengubah deskripsi tabel
mytable
dalam set datamydataset
menjadi "Description of mytable", masukkan perintah berikut. Set datamydataset
berada di projectmyotherproject
, bukan di project default Anda.bq update \ --description "Description of mytable" \ myotherproject:mydataset.mytable
API
Panggil metode tables.patch
dan gunakan properti description
di resource tabel untuk memperbarui deskripsi tabel. Karena metode tables.update
menggantikan seluruh resource tabel, metode tables.patch
akan lebih disarankan.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Konfigurasi properti Table.description dan panggil Client.update_table() untuk mengirim update ke API.Memperbarui waktu habis masa berlaku tabel
Anda dapat menetapkan waktu habis masa berlaku tabel default di tingkat set data, atau menetapkan waktu habis masa berlaku tabel saat tabel dibuat. Waktu habis masa berlaku tabel sering disebut sebagai "time to live" atau TTL.
Ketika masa berlaku berakhir, tabel akan dihapus bersama dengan semua data yang ada di dalamnya. Jika perlu, Anda dapat membatalkan penghapusan tabel yang telah habis masa berlakunya dalam periode perjalanan waktu yang ditentukan untuk set data. Lihat Memulihkan tabel yang dihapus untuk informasi selengkapnya.
Jika Anda menetapkan masa berlaku saat tabel dibuat, masa berlaku tabel default set data akan diabaikan. Jika Anda tidak menetapkan tanggal habis masa berlaku tabel default di tingkat set data, dan tidak menetapkan tanggal habis masa berlaku tabel saat tabel dibuat, tabel tidak akan memiliki tanggal habis masa berlaku dan Anda harus menghapus tabel secara manual.
Kapan pun setelah tabel dibuat, Anda dapat memperbarui waktu habis masa berlaku tabel dengan cara berikut:
- Menggunakan Konsol Google Cloud.
- Menggunakan pernyataan
ALTER TABLE
bahasa definisi data (DDL). - Menggunakan perintah
bq update
alat command line bq. - Memanggil metode API
tables.patch
. - Menggunakan library klien.
Untuk memperbarui waktu habis masa berlaku tabel:
Konsol
Anda tidak dapat menambahkan waktu habis masa berlaku saat membuat tabel menggunakan Konsol Google Cloud. Setelah tabel dibuat, Anda dapat menambahkan atau memperbarui masa berlaku tabel di halaman Table Details.
Di panel Explorer, luaskan project dan set data Anda, lalu pilih tabel.
Di panel detail, klik Details.
Klik ikon pensil di samping Table info
Untuk Table expiration, pilih Specify date. Kemudian, pilih tanggal habis masa berlaku menggunakan widget kalender.
Klik Update untuk menyimpan. Waktu habis masa berlaku yang diperbarui akan muncul di bagian Table info.
SQL
Gunakan pernyataan ALTER TABLE SET OPTIONS
.
Contoh berikut memperbarui waktu habis masa berlaku tabel bernama mytable
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER TABLE mydataset.mytable SET OPTIONS ( -- Sets table expiration to timestamp 2025-02-03 12:34:56 expiration_timestamp = TIMESTAMP '2025-02-03 12:34:56');
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Jalankan perintah
bq update
dengan flag--expiration
. Jika Anda memperbarui tabel dalam project selain project default, tambahkan project ID ke nama set data dalam format berikut:project_id:dataset
.bq update \ --expiration integer \
project_id:dataset.table
Ganti kode berikut:
integer
: masa aktif default (dalam detik) untuk tabel. Nilai minimum adalah 3.600 detik (satu jam). Waktu habis masa berlaku mengevaluasi waktu saat ini ditambah dengan nilai bilangan bulat. Jika Anda menentukan0
, masa berlaku tabel akan dihapus, dan tabel tidak akan pernah berakhir masa berlakunya. Tabel tanpa masa berlaku harus dihapus secara manual.project_id
: project ID Anda.dataset
: nama set data yang berisi tabel yang Anda perbarui.table
: nama tabel yang Anda perbarui.
Contoh:
Untuk memperbarui waktu habis masa berlaku tabel
mytable
di set datamydataset
menjadi 5 hari (432.000 detik), masukkan perintah berikut. Set datamydataset
berada di project default Anda.bq update --expiration 432000 mydataset.mytable
Untuk memperbarui waktu habis masa berlaku tabel
mytable
di set datamydataset
menjadi 5 hari (432.000 detik), masukkan perintah berikut. Set datamydataset
berada di projectmyotherproject
, bukan di project default Anda.bq update --expiration 432000 myotherproject:mydataset.mytable
API
Panggil metode tables.patch
dan gunakan properti expirationTime
di resource tabel untuk memperbarui masa berlaku tabel dalam milidetik. Karena metode tables.update
menggantikan seluruh resource tabel, metode tables.patch
akan direkomendasikan.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Konfigurasi properti Table.expires dan panggil Client.update_table() untuk mengirim update ke API.Untuk memperbarui waktu habis masa berlaku partisi set data default:
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Mengupdate mode pembulatan tabel
Anda dapat mengupdate mode pembulatan default tabel menggunakan pernyataan DDL ALTER TABLE SET OPTIONS
.
Contoh berikut mengupdate mode pembulatan default untuk mytable
menjadi ROUND_HALF_EVEN
:
ALTER TABLE mydataset.mytable SET OPTIONS ( default_rounding_mode = "ROUND_HALF_EVEN");
Jika Anda menambahkan kolom NUMERIC
atau BIGNUMERIC
ke tabel dan tidak menentukan mode pembulatan, mode pembulatan akan otomatis ditetapkan ke mode pembulatan default tabel. Mengubah mode pembulatan default tabel tidak mengubah mode pembulatan kolom yang ada.
Mengupdate definisi skema tabel
Untuk informasi selengkapnya tentang cara mengupdate definisi skema tabel, lihat Mengubah skema tabel.
Mengganti nama tabel
Anda dapat mengganti nama tabel setelah dibuat menggunakan pernyataan ALTER TABLE RENAME TO
.
Contoh berikut mengganti nama mytable
menjadi mynewtable
:
ALTER TABLE mydataset.mytable
RENAME TO mynewtable;
Batasan terkait penggantian nama tabel
- Jika ingin mengganti nama tabel yang berisi streaming data, Anda harus menghentikan streaming dan menunggu BigQuery untuk menunjukkan bahwa streaming sedang tidak digunakan.
- Nama tabel biasanya dapat diganti namanya dalam waktu 72 jam setelah operasi streaming terakhir, tetapi mungkin memerlukan waktu lebih lama.
- ACL tabel dan kebijakan akses baris yang sudah ada akan dipertahankan, tetapi pembaruan kebijakan akses baris dan ACL tabel yang dilakukan selama penggantian nama tabel tidak akan dipertahankan.
- Anda tidak dapat mengganti nama tabel secara serentak dan menjalankan pernyataan DML pada tabel tersebut.
- Mengganti nama tabel akan menghapus semua tag Data Catalog di tabel.
- Anda tidak dapat mengganti nama tabel eksternal.
Menyalin tabel
Bagian ini menjelaskan cara membuat salinan tabel lengkap. Untuk informasi tentang jenis salinan tabel lainnya, lihat clone tabel dan snapshot tabel.
Anda dapat menyalin tabel dengan cara berikut:
- Menggunakan Konsol Google Cloud
- Menggunakan perintah
bq cp
. - Menggunakan pernyataan
CREATE TABLE COPY
bahasa definisi data (DDL). - Memanggil metode API jobs.insert dan mengonfigurasi tugas
copy
. - Menggunakan library klien.
Batasan terkait penyalinan tabel
Tugas penyalinan tabel tunduk pada batasan berikut:
- Saat Anda menyalin tabel, nama tabel tujuan harus mematuhi konvensi penamaan yang sama seperti saat Anda membuat tabel.
- Salinan tabel tunduk pada batasan BigQuery terkait tugas penyalinan.
- Konsol Google Cloud hanya mendukung penyalinan satu tabel dalam satu waktu. Anda tidak dapat menimpa tabel yang sudah ada di set data tujuan. Tabel harus memiliki nama unik di set data tujuan.
- Menyalin beberapa tabel sumber ke tabel tujuan tidak didukung oleh Konsol Google Cloud.
- Saat menyalin beberapa tabel sumber ke tabel tujuan menggunakan API, alat command line bq, atau library klien, semua tabel sumber harus memiliki skema yang identik, termasuk partisi atau pengelompokan.
- Waktu yang diperlukan BigQuery untuk menyalin tabel dapat sangat bervariasi di berbagai operasi karena penyimpanan yang mendasarinya dikelola secara dinamis.
- Anda tidak dapat menyalin dan menambahkan tabel sumber ke tabel tujuan yang memiliki lebih banyak
kolom daripada tabel sumber, dan kolom tambahan memiliki
nilai default. Sebagai gantinya, Anda dapat menjalankan
INSERT destination_table SELECT * FROM source_table
untuk menyalin data. - Jika operasi penyalinan menimpa tabel yang ada, akses tingkat tabel untuk tabel yang ada akan dipertahankan. Tag dari tabel sumber tidak disalin ke tabel yang ditimpa.
- Jika operasi penyalinan membuat tabel baru, akses tingkat tabel untuk tabel baru akan ditentukan oleh kebijakan akses set data tempat tabel baru dibuat. Selain itu, tag akan disalin dari tabel sumber ke tabel baru.
- Saat Anda menyalin beberapa tabel sumber ke tabel tujuan, semua tabel sumber harus memiliki tag yang identik.
Peran yang diperlukan
Untuk melakukan tugas dalam dokumen ini, Anda memerlukan izin berikut.
Peran untuk menyalin tabel dan partisi
Untuk mendapatkan izin yang diperlukan guna menyalin tabel dan partisi, minta administrator untuk memberi Anda peran IAM Data Editor (roles/bigquery.dataEditor
) pada set data sumber dan tujuan.
Untuk informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk menyalin tabel dan partisi. Untuk melihat izin pasti yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menyalin tabel dan partisi:
-
bigquery.tables.getData
pada set data sumber dan tujuan -
bigquery.tables.get
pada set data sumber dan tujuan -
bigquery.tables.create
pada set data tujuan -
bigquery.tables.update
pada set data tujuan
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lain.
Izin untuk menjalankan tugas penyalinan
Untuk mendapatkan izin yang diperlukan guna menjalankan tugas penyalinan, minta administrator untuk memberi Anda peran IAM Job User (roles/bigquery.jobUser
) pada set data sumber dan tujuan.
Untuk informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin bigquery.jobs.create
, yang diperlukan untuk menjalankan tugas penyalinan.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menyalin satu tabel sumber
Anda dapat menyalin satu tabel dengan cara berikut:
- Menggunakan Konsol Google Cloud.
- Menggunakan perintah
bq cp
alat command line bq. - Menggunakan pernyataan
CREATE TABLE COPY
bahasa definisi data (DDL). - Memanggil metode API
jobs.insert
, mengonfigurasi tugascopy
, dan menentukan propertisourceTable
. - Menggunakan library klien.
Konsol Google Cloud dan pernyataan CREATE TABLE COPY
hanya mendukung satu tabel sumber dan satu tabel tujuan dalam tugas penyalinan. Untuk menyalin beberapa file sumber ke tabel tujuan, Anda harus menggunakan alat command line bq atau API.
Untuk menyalin satu tabel sumber:
Konsol
Di panel Explorer, luaskan project dan set data Anda, lalu pilih tabel.
Di panel detail, klik Copy table.
Di dialog Copy table, di bagian Destination:
- Untuk Project name, pilih project yang akan menyimpan tabel yang disalin.
- Untuk Dataset name, pilih set data tempat Anda ingin menyimpan tabel yang disalin. Set data sumber dan tujuan harus berada di lokasi yang sama.
- Untuk Table name, masukkan nama tabel baru. Nama di set data tujuan harus unik. Anda tidak dapat menimpa tabel yang sudah ada di set data tujuan menggunakan Konsol Google Cloud. Untuk informasi selengkapnya tentang persyaratan nama tabel, lihat Penamaan tabel.
Klik Copy untuk memulai tugas penyalinan.
SQL
Gunakan pernyataan CREATE TABLE COPY
untuk menyalin tabel bernama table1
ke tabel baru bernama table1copy
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE TABLE
myproject.mydataset.table1copy
COPYmyproject.mydataset.table1
;Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Berikan perintah
bq cp
. Flag opsional dapat digunakan untuk mengontrol disposisi operasi tulis tabel tujuan:-a
atau--append_table
menambahkan data dari tabel sumber ke tabel yang ada di set data tujuan.-f
atau--force
menimpa tabel yang ada di set data tujuan dan tidak meminta konfirmasi Anda.-n
atau--no_clobber
menampilkan pesan error berikut jika tabel ada di set data tujuan:Table 'project_id:dataset.table' already exists, skipping.
Jika-n
tidak ditentukan, perilaku defaultnya adalah meminta Anda untuk memilih apakah akan mengganti tabel tujuan.--destination_kms_key
adalah kunci Cloud KMS yang dikelola pelanggan yang digunakan untuk mengenkripsi tabel tujuan.
--destination_kms_key
tidak ditunjukkan di sini. Lihat bagian Melindungi data dengan kunci Cloud Key Management Service untuk informasi selengkapnya.Jika set data sumber atau tujuan berada di project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut:
project_id:dataset
.(Opsional) Berikan flag
--location
dan tetapkan nilainya ke lokasi Anda.bq --location=location cp \ -a -f -n \
project_id:dataset.source_table
\project_id:dataset.destination_table
Ganti kode berikut:
location
: nama lokasi Anda. Flag--location
bersifat opsional. Misalnya, jika menggunakan BigQuery di region Tokyo, Anda dapat menetapkan nilai flag keasia-northeast1
. Anda dapat menetapkan nilai default untuk lokasi menggunakan file.bigqueryrc
.project_id
: project ID Anda.dataset
: nama set data sumber atau tujuan.source_table
: tabel yang Anda salin.destination_table
: nama tabel dalam set data tujuan.
Contoh:
Untuk menyalin tabel
mydataset.mytable
ke tabelmydataset2.mytable2
, masukkan perintah berikut. Kedua set data berada di project default Anda.bq cp mydataset.mytable mydataset2.mytable2
Untuk menyalin tabel
mydataset.mytable
dan menimpa tabel tujuan dengan nama yang sama, masukkan perintah berikut. Set data sumber berada di project default Anda. Set data tujuan berada di projectmyotherproject
. Pintasan-f
digunakan untuk menimpa tabel tujuan tanpa prompt.bq cp -f \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Untuk menyalin tabel
mydataset.mytable
dan menampilkan error jika set data tujuan berisi tabel dengan nama yang sama, masukkan perintah berikut. Set data sumber berada di project default Anda. Set data tujuan berada di projectmyotherproject
. Pintasan-n
digunakan untuk mencegah penimpaan tabel dengan nama yang sama.bq cp -n \ mydataset.mytable \ myotherproject:myotherdataset.mytable
Untuk menyalin tabel
mydataset.mytable
dan menambahkan data ke tabel tujuan dengan nama yang sama, masukkan perintah berikut. Set data sumber berada di project default Anda. Set data tujuan berada di projectmyotherproject
. Pintasan- a
digunakan untuk melakukan penambahan ke tabel tujuan.bq cp -a mydataset.mytable myotherproject:myotherdataset.mytable
API
Anda dapat menyalin tabel yang ada melalui API dengan memanggil metode bigquery.jobs.insert
, dan mengonfigurasi tugas copy
. Tentukan lokasi Anda di properti location
di bagian jobReference
di resource tugas.
Anda harus menentukan nilai berikut dalam konfigurasi tugas:
"copy": { "sourceTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "destinationTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "createDisposition": string, // Optional "writeDisposition": string, // Optional },
Dengan sourceTable
memberikan informasi tentang tabel yang akan disalin, destinationTable
memberikan informasi tentang tabel baru, createDisposition
menentukan apakah akan membuat tabel jika tidak ada, dan writeDisposition
menentukan apakah akan menimpa atau menambahkan tabel yang ada.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery C# API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery PHP API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Menyalin beberapa tabel sumber
Anda dapat menyalin beberapa tabel sumber ke tabel tujuan dengan cara berikut:
- Menggunakan perintah
bq cp
alat command line bq. - Memanggil metode
jobs.insert
, mengonfigurasi tugascopy
, dan menentukan propertisourceTables
. - Menggunakan library klien.
Semua tabel sumber harus memiliki skema dan tag identik, dan hanya satu tabel tujuan yang diizinkan.
Tabel sumber harus ditetapkan sebagai daftar yang dipisahkan koma. Anda tidak dapat menggunakan karakter pengganti saat menyalin beberapa tabel sumber.
Untuk menyalin beberapa tabel sumber, pilih salah satu pilihan berikut:
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Berikan perintah
bq cp
dan sertakan beberapa tabel sumber sebagai daftar yang dipisahkan koma. Flag opsional dapat digunakan untuk mengontrol disposisi operasi tulis tabel tujuan:-a
atau--append_table
menambahkan data dari tabel sumber ke tabel yang ada di set data tujuan.-f
atau--force
menimpa tabel tujuan yang ada di set data tujuan dan tidak meminta konfirmasi Anda.-n
atau--no_clobber
menampilkan pesan error berikut jika tabel ada di set data tujuan:Table 'project_id:dataset.table' already exists, skipping.
Jika-n
tidak ditentukan, perilaku defaultnya adalah meminta Anda untuk memilih apakah akan mengganti tabel tujuan.--destination_kms_key
adalah kunci Cloud Key Management Service yang dikelola pelanggan yang digunakan untuk mengenkripsi tabel tujuan.
--destination_kms_key
tidak ditunjukkan di sini. Lihat bagian Melindungi data dengan kunci Cloud Key Management Service untuk informasi selengkapnya.Jika set data sumber atau tujuan berada di project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut:
project_id:dataset
.(Opsional) Berikan flag
--location
dan tetapkan nilainya ke lokasi Anda.bq --location=location cp \ -a -f -n \
project_id:dataset.source_table
,project_id:dataset.source_table
\project_id:dataset.destination_table
Ganti kode berikut:
location
: nama lokasi Anda. Flag--location
bersifat opsional. Misalnya, jika menggunakan BigQuery di region Tokyo, Anda dapat menetapkan nilai flag keasia-northeast1
. Anda dapat menetapkan nilai default untuk lokasi menggunakan file.bigqueryrc
.project_id
: project ID Anda.dataset
: nama set data sumber atau tujuan.source_table
: tabel yang Anda salin.destination_table
: nama tabel dalam set data tujuan.
Contoh:
Untuk menyalin tabel
mydataset.mytable
dan tabelmydataset.mytable2
ke tabelmydataset2.tablecopy
, masukkan perintah berikut . Semua set data berada di project default Anda.bq cp \ mydataset.mytable,mydataset.mytable2 \ mydataset2.tablecopy
Untuk menyalin tabel
mydataset.mytable
dan tabelmydataset.mytable2
ke tabelmyotherdataset.mytable
dan untuk menimpa tabel tujuan dengan nama yang sama, masukkan perintah berikut. Set data tujuan berada di projectmyotherproject
, bukan di project default Anda. Pintasan-f
digunakan untuk menimpa tabel tujuan tanpa perintah.bq cp -f \ mydataset.mytable,mydataset.mytable2 \ myotherproject:myotherdataset.mytable
Untuk menyalin tabel
myproject:mydataset.mytable
dan tabelmyproject:mydataset.mytable2
serta menampilkan error jika set data tujuan berisi tabel dengan nama yang sama, masukkan perintah berikut. Set data tujuan berada di projectmyotherproject
. Pintasan-n
digunakan untuk mencegah menimpa tabel dengan nama yang sama.bq cp -n \ myproject:mydataset.mytable,myproject:mydataset.mytable2 \ myotherproject:myotherdataset.mytable
Untuk menyalin tabel
mydataset.mytable
dan tabelmydataset.mytable2
serta menambahkan data ke tabel tujuan dengan nama yang sama, masukkan perintah berikut. Set data sumber berada di project default Anda. Set data tujuan berada di projectmyotherproject
. Pintasan-a
digunakan untuk ditambahkan ke tabel tujuan.bq cp -a \ mydataset.mytable,mydataset.mytable2 \ myotherproject:myotherdataset.mytable
API
Untuk menyalin beberapa tabel menggunakan API, panggil metode jobs.insert
, konfigurasikan tugas tabel copy
, dan tentukan properti sourceTables
.
Tentukan region Anda di properti location
di bagian jobReference
pada resource tugas.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Menyalin tabel di seluruh region
Untuk meminta akses ke fitur pratinjau ini, lengkapi formulir Pendaftaran Pratinjau Salin Tabel Lintas Region BigQuery.
Anda dapat menyalin tabel, snapshot tabel, atau clone tabel dari satu region BigQuery atau multi-region ke region lainnya. Hal ini mencakup semua tabel yang menerapkan Cloud KMS (CMEK) yang dikelola pelanggan. Tindakan ini akan dikenai biaya tambahan sesuai dengan harga BigQuery.
Untuk menyalin tabel di seluruh region, pilih salah satu opsi berikut:
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Jalankan perintah
bq cp
:
bq cp \ -f -n \SOURCE_PROJECT:SOURCE_DATASET.SOURCE_TABLE
\DESTINATION_PROJECT:DESTINATION_DATASET.DESTINATION_TABLE
Ganti kode berikut:
SOURCE_PROJECT
: ID project sumber. Jika set data sumber berada dalam project selain project default Anda, tambahkan project ID ke nama set data sumber.DESTINATION_PROJECT
: ID project tujuan. Jika set data tujuan berada dalam project selain project default Anda, tambahkan project ID ke nama set data tujuan.SOURCE_DATASET
: nama set data sumber.DESTINATION_DATASET
: nama set data tujuan.SOURCE_TABLE
: tabel yang Anda salin.DESTINATION_TABLE
: nama tabel di set data tujuan.Contoh:
Untuk menyalin tabel
mydataset_us.mytable
dari multi-regionus
ke tabelmydataset_eu.mytable2
di multi-regioneu
, masukkan perintah berikut. Kedua set data berada di project default Anda.bq cp --sync=false mydataset_us.mytable mydataset_eu.mytable2
Untuk menyalin tabel yang mendukung CMEK, Anda dapat membuat kunci menggunakan Cloud KMS dan menentukan kunci dalam perintah
bq cp
atau menggunakan set data tujuan dengan CMEK default yang telah dikonfigurasi. Contoh berikut menentukan CMEK tujuan dalam perintahbq cp
.bq cp ----destination_kms_key=projects/testing/locations/us/keyRings/us_key/cryptoKeys/eu_key mydataset_us.mytable mydataset_eu.mytable2
API
Untuk menyalin tabel di seluruh region menggunakan API, panggil metode jobs.insert
dan konfigurasikan tugas copy
tabel.
Tentukan region Anda di properti location
di bagian jobReference
pada resource tugas.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery C# API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery PHP API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Batasan
Menyalin tabel di seluruh region memiliki batasan berikut:
- Anda tidak dapat menyalin tabel menggunakan Konsol Google Cloud atau pernyataan
TABLE COPY DDL
. - Anda tidak dapat menyalin tabel jika ada tag kebijakan pada tabel sumber.
- Anda tidak dapat menyalin kebijakan IAM yang terkait dengan tabel. Anda dapat menerapkan kebijakan yang sama ke tujuan setelah penyalinan selesai.
- Anda tidak dapat menyalin beberapa tabel sumber ke dalam satu tabel tujuan.
- Anda tidak dapat menyalin tabel dalam mode tambahkan.
- Informasi Perjalanan waktu tidak disalin ke wilayah tujuan.
- Clone tabel dikonversi menjadi salinan lengkap di region tujuan.
Melihat penggunaan kuota saat ini
Anda dapat melihat penggunaan tugas kueri, pemuatan, ekstrak, atau penyalinan saat ini dengan menjalankan kueri INFORMATION_SCHEMA
untuk melihat metadata tentang tugas yang dijalankan selama jangka waktu yang ditentukan. Anda dapat membandingkan penggunaan saat ini dengan batas kuota untuk menentukan penggunaan kuota jenis tugas tertentu. Contoh kueri berikut menggunakan tabel virtual INFORMATION_SCHEMA.JOBS
untuk mencantumkan jumlah tugas kueri, pemuatan, ekstrak, dan penyalinan menurut project:
SELECT sum(case when job_type="QUERY" then 1 else 0 end) as QRY_CNT, sum(case when job_type="LOAD" then 1 else 0 end) as LOAD_CNT, sum(case when job_type="EXTRACT" then 1 else 0 end) as EXT_CNT, sum(case when job_type="COPY" then 1 else 0 end) as CPY_CNT FROM `region-eu`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE date(creation_time)= CURRENT_DATE()
Untuk melihat batas kuota tugas penyalinan, lihat Kuota dan batas - Tugas penyalinan.
Menghapus tabel
Anda dapat menghapus tabel dengan cara berikut:
- Menggunakan Konsol Google Cloud.
- Menggunakan pernyataan
DROP TABLE
bahasa definisi data (DDL). - Menggunakan perintah
bq rm
alat command line bq. - Memanggil metode API
tables.delete
. - Menggunakan library klien.
Untuk menghapus semua tabel dalam set data, hapus set data.
Saat Anda menghapus tabel, semua data di tabel tersebut juga dihapus. Untuk menghapus tabel secara otomatis setelah jangka waktu tertentu, tetapkan masa berlaku tabel default untuk set data atau tetapkan waktu habis masa berlaku saat Anda membuat tabel.
Menghapus tabel juga akan menghapus izin apa pun yang terkait dengan tabel ini. Saat membuat ulang tabel yang dihapus, Anda juga harus mengonfigurasi ulang izin akses yang sebelumnya terkait dengan tabel tersebut secara manual.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna menghapus tabel, minta administrator untuk memberi Anda peran IAM Data Editor (roles/bigquery.dataEditor
) pada dataset.
Untuk informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk menghapus tabel. Untuk melihat izin pasti yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghapus tabel:
-
bigquery.tables.delete
-
bigquery.tables.get
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lain.
Menghapus tabel
Untuk menghapus tabel:
Konsol
Di panel Explorer, luaskan project dan set data Anda, lalu pilih tabel.
Di panel detail, klik Delete table.
Ketik
"delete"
dalam dialog, lalu klik Delete untuk mengonfirmasinya.
SQL
Gunakan pernyataan DROP TABLE
.
Contoh berikut menghapus tabel bernama mytable
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
DROP TABLE mydataset.mytable;
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Gunakan perintah
bq rm
dengan flag--table
(atau pintasan-t
) untuk menghapus tabel. Saat menggunakan alat command line bq untuk menghapus tabel, Anda harus mengonfirmasi tindakan tersebut. Anda dapat menggunakan flag--force
(atau pintasan-f
) untuk melewati konfirmasi.Jika tabel berada di set data dalam project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut:
project_id:dataset
.bq rm \ -f \ -t \ project_id:dataset.table
Ganti kode berikut:
project_id
: project ID Anda.dataset
: nama set data yang berisi tabeltable
: nama tabel yang Anda hapus
Contoh:
Untuk menghapus tabel
mytable
dari set datamydataset
, masukkan perintah berikut. Set datamydataset
berada di project default Anda.bq rm -t mydataset.mytable
Untuk menghapus tabel
mytable
dari set datamydataset
, masukkan perintah berikut. Set datamydataset
berada di projectmyotherproject
, bukan di project default Anda.bq rm -t myotherproject:mydataset.mytable
Untuk menghapus tabel
mytable
dari set datamydataset
, masukkan perintah berikut. Set datamydataset
berada di project default Anda. Perintah ini menggunakan pintasan-f
untuk mengabaikan konfirmasi.bq rm -f -t mydataset.mytable
API
Panggil metode API tables.delete
dan tentukan tabel yang akan dihapus menggunakan parameter tableId
.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery C# API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Go API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery PHP API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Ruby API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Memulihkan tabel yang dihapus
Anda dapat membatalkan penghapusan tabel dalam periode perjalanan waktu yang ditentukan untuk set data, termasuk penghapusan eksplisit dan penghapusan implisit karena akhir masa berlaku tabel. Anda dapat mengonfigurasi periode perjalanan waktu.
Periode perjalanan waktu dapat memiliki durasi antara dua dan tujuh hari. Setelah periode perjalanan waktu berlalu, Anda tidak dapat membatalkan penghapusan tabel menggunakan metode apa pun, termasuk membuka tiket dukungan.
Saat memulihkan tabel berpartisi yang dihapus karena habis masa berlakunya, Anda harus membuat ulang partisi secara manual.
Saat Anda memulihkan tabel dari data historis, tag dari tabel sumber tidak akan disalin ke tabel tujuan.
Anda dapat memulihkan tabel yang telah dihapus, tetapi masih dalam jangka waktu perjalanan dengan menyalin tabel tersebut ke tabel baru, menggunakan dekorator waktu @<time>
.
Untuk menyalin tabel, Anda dapat menggunakan alat command line bq atau library klien:
Konsol
Anda tidak dapat membatalkan penghapusan tabel menggunakan Konsol Google Cloud.
bq
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk memulihkan tabel, pertama-tama tentukan stempel waktu UNIX saat tabel tersebut ada (dalam milidetik). Anda dapat menggunakan perintah
date
Linux untuk membuat stempel waktu Unix dari nilai stempel waktu reguler:date -d '2023-08-04 16:00:34.456789Z' +%s000
Kemudian, gunakan perintah
bq copy
dengan dekorator perjalanan waktu@<time>
untuk menjalankan operasi penyalinan tabel.Misalnya, masukkan perintah berikut untuk menyalin tabel
mydataset.mytable
pada saat1418864998000
ke tabel barumydataset.newtable
.bq cp mydataset.mytable@1418864998000 mydataset.newtable
(Opsional) Berikan flag
--location
dan tetapkan nilainya ke lokasi Anda.Anda juga dapat menentukan offset relatif. Contoh berikut menyalin versi tabel dari satu jam yang lalu:
bq cp mydataset.mytable@-3600000 mydataset.newtable
Untuk informasi selengkapnya, lihat Memulihkan tabel dari titik waktu.
Go
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Node.js API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Python API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Jika mengantisipasi bahwa Anda mungkin ingin memulihkan tabel lebih lama dari yang diizinkan oleh periode perjalanan waktu, buat snapshot tabel dari tabel tersebut. Untuk informasi selengkapnya, lihat Snapshot tabel.
Keamanan tabel
Untuk mengontrol akses ke tabel di BigQuery, lihat Pengantar kontrol akses tabel.
Langkah selanjutnya
- Untuk informasi selengkapnya tentang cara membuat dan menggunakan tabel, lihat Membuat dan menggunakan tabel.
- Untuk informasi selengkapnya tentang penanganan data, lihat Menangani data tabel.
- Untuk informasi selengkapnya tentang cara menentukan skema tabel, lihat Menentukan skema.
- Untuk informasi selengkapnya tentang cara mengubah skema tabel, lihat Mengubah skema tabel.
- Untuk informasi selengkapnya tentang set data, lihat Pengantar set data.
- Untuk informasi selengkapnya tentang tabel virtual, lihat Pengantar tabel virtual.