Mengelola set data
Dokumen ini menjelaskan cara menyalin set data, membuat ulang set data di lokasi lain, mengamankan set data, menghapus set data, memulihkan tabel dari set data yang dihapus, dan membatalkan penghapusan set data di BigQuery.
Sebagai administrator BigQuery, Anda dapat mengatur dan mengontrol akses ke tabel dan tampilan yang digunakan analis. Untuk informasi selengkapnya tentang set data, lihat Pengantar set data.
Anda tidak dapat mengubah nama set data yang ada atau memindahkan set data setelah dibuat. Sebagai solusi untuk mengubah nama set data, Anda dapat menyalin set data dan mengubah nama set data tujuan. Untuk memindahkan set data, Anda dapat mengikuti salah satu metode berikut:
Peran yang diperlukan
Bagian ini menjelaskan peran dan izin yang Anda perlukan untuk mengelola set data. Jika set data sumber atau tujuan berada dalam project yang sama dengan yang digunakan untuk menyalin, Anda tidak memerlukan izin atau peran tambahan pada set data tersebut.
Untuk mendapatkan izin yang Anda perlukan untuk mengelola set data, minta administrator untuk memberi Anda peran IAM berikut:
-
Salin set data (Beta):
-
Admin BigQuery (
roles/bigquery.admin
) di project tujuan -
BigQuery Data Viewer (
roles/bigquery.dataViewer
) di set data sumber -
BigQuery Data Editor (
roles/bigquery.dataEditor
) di set data tujuan
-
Admin BigQuery (
-
Menghapus set data:
Pemilik Data BigQuery (
roles/bigquery.dataOwner
) di project -
Memulihkan set data yang dihapus:
BigQuery User (
roles/bigquery.user
) di project
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola set data. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola set data:
-
Salin set data:
-
bigquery.transfers.update
di project tujuan -
bigquery.jobs.create
di project tujuan -
bigquery.datasets.get
di set data sumber dan tujuan -
bigquery.tables.list
di set data sumber dan tujuan -
bigquery.datasets.update
di set data tujuan -
bigquery.tables.create
di set data tujuan
-
-
Menghapus set data:
-
bigquery.datasets.delete
dalam project -
bigquery.tables.delete
dalam project
-
-
Memulihkan set data yang dihapus:
-
bigquery.datasets.create
dalam project -
bigquery.datasets.get
di set data
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, baca Pengantar IAM.
Salin set data
Anda dapat menyalin set data, termasuk data yang dipartisi dalam satu region atau di seluruh region, tanpa mengekstrak, memindahkan, atau memuat ulang data ke BigQuery. BigQuery menggunakan BigQuery Data Transfer Service di backend untuk menyalin set data. Untuk pertimbangan lokasi saat Anda mentransfer data, lihat Transfer dan lokasi data.
Untuk setiap konfigurasi penyalinan set data, Anda dapat menjalankan satu transfer yang aktif pada satu waktu. Proses transfer tambahan dimasukkan ke dalam antrean. Jika menggunakan konsol Google Cloud, Anda dapat menjadwalkan salinan berulang, dan mengonfigurasi notifikasi email atau Pub/Sub dengan BigQuery Data Transfer Service.
Batasan
Batasan berikut berlaku saat Anda menyalin set data:
Anda tidak dapat menyalin resource berikut dari set data sumber:
- • Tabel virtual
- Rutinitas, termasuk UDF.
- Tabel eksternal.
- Tabel pengambilan data perubahan (CDC) jika tugas penyalinan berada di seluruh region. Penyalinan tabel CDC dalam region yang sama didukung.
Tugas penyalinan tabel lintas region tidak didukung untuk tabel yang dienkripsi dengan kunci terenkripsi yang dikelola pelanggan (CMEK) saat set data tujuan tidak dienkripsi dengan CMEK dan tidak ada CMEK yang diberikan. Penyalinan tabel dengan enkripsi default di seluruh region didukung.
Anda dapat menyalin semua tabel terenkripsi dalam region yang sama, termasuk tabel terenkripsi dengan CMEK.
Anda tidak dapat menggunakan resource berikut sebagai set data tujuan untuk tugas penyalinan:
- Penyimpanan yang dioptimalkan untuk operasi tulis.
Set data yang dienkripsi dengan CMEK jika tugas penyalinan berada di seluruh region dan tabel sumber tidak dienkripsi dengan CMEK.
Namun, tabel yang dienkripsi dengan CMEK diizinkan sebagai tabel tujuan saat menyalin dalam region yang sama.
Frekuensi minimum antar-tugas penyalinan adalah 12 jam.
Menambahkan data ke tabel yang dipartisi dalam set data tujuan tidak didukung.
Jika tabel ada dalam set data sumber dan set data tujuan, dan tabel sumber belum berubah sejak salinan terakhir yang berhasil, tabel tersebut akan dilewati. Tabel sumber akan dilewati meskipun kotak centang Timpa tabel tujuan dipilih.
Saat memotong tabel di set data tujuan, tugas penyalinan set data tidak mendeteksi perubahan apa pun yang dilakukan pada resource di set data tujuan sebelum memulai tugas penyalinan. Tugas penyalinan set data akan menimpa semua data di set data tujuan, termasuk tabel dan skema.
Tabel tujuan mungkin tidak mencerminkan perubahan yang dibuat pada tabel sumber setelah tugas penyalinan dimulai.
Penyalinan set data tidak didukung di region BigQuery Omni.
Untuk menyalin set data ke project di perimeter layanan Kontrol Layanan VPC lain, Anda harus menetapkan aturan traffic keluar berikut:
Dalam konfigurasi perimeter layanan Kontrol Layanan VPC project tujuan, akun utama IAM harus memiliki metode berikut:
bigquery.datasets.get
bigquery.tables.list
bigquery.tables.get
,bigquery.tables.getData
Dalam konfigurasi perimeter layanan Kontrol Layanan VPC project sumber, akun utama IAM yang digunakan harus memiliki metode yang ditetapkan ke
All Methods
.
Menyalin set data
Pilih salah satu opsi berikut:
Konsol
Aktifkan BigQuery Data Transfer Service untuk set data tujuan Anda.
Pastikan Anda memiliki peran yang diperlukan.
Jika ingin menyiapkan notifikasi run transfer untuk Pub/Sub (Opsi 2 nanti dalam langkah-langkah ini), Anda harus memiliki izin
pubsub.topics.setIamPolicy
.Jika Anda hanya menyiapkan notifikasi email, izin Pub/Sub tidak diperlukan. Untuk mengetahui informasi selengkapnya, lihat notifikasi menjalankan BigQuery Data Transfer Service.
Buat set data BigQuery di region yang sama atau berbeda dari set data sumber Anda.
Opsi 1: Menggunakan fungsi salin BigQuery
Untuk membuat transfer satu kali, gunakan fungsi salin BigQuery:
Buka halaman BigQuery.
Di panel Explorer, luaskan project Anda dan pilih set data.
Di bagian Dataset info, klik
Copy, lalu lakukan hal berikut:Di kolom Dataset, buat set data baru atau pilih ID set data yang ada dari daftar.
Nama set data dalam project harus unik. Project dan set data dapat berada di region yang berbeda, tetapi tidak semua region didukung untuk penyalinan set data lintas region.
Di kolom Location, lokasi set data sumber akan ditampilkan.
Opsional: Untuk menimpa data dan skema tabel tujuan dengan tabel sumber, centang kotak Timpa tabel tujuan. Tabel sumber dan tujuan harus memiliki skema partisi yang sama.
Untuk menyalin set data, klik Copy.
Opsi 2: Gunakan BigQuery Data Transfer Service
Untuk menjadwalkan salinan berulang dan mengonfigurasi notifikasi email atau Pub/Sub, gunakan BigQuery Data Transfer Service di konsol Google Cloud untuk project tujuan:
Buka halaman Transfer data.
Klik Buat transfer.
Dalam daftar Source, pilih Dataset Copy.
Di kolom Nama tampilan, masukkan nama untuk operasi transfer Anda.
Di bagian Opsi jadwal, lakukan tindakan berikut:
Untuk Frekuensi berulang, pilih opsi seberapa sering transfer dijalankan:
Jika Anda memilih Kustom, masukkan frekuensi kustom—misalnya,
every day 00:00
. Untuk informasi selengkapnya, lihat Memformat jadwal.Untuk Tanggal mulai dan waktu proses, masukkan tanggal dan waktu untuk memulai transfer. Jika Anda memilih Mulai sekarang, opsi ini akan dinonaktifkan.
Di bagian Destination settings, pilih set data tujuan untuk menyimpan data transfer Anda. Anda juga dapat mengklik BUAT SET DATA BARU untuk membuat set data baru sebelum memilihnya untuk transfer ini.
Di bagian Detail sumber data, masukkan informasi berikut:
- Untuk Set data sumber, masukkan ID set data yang ingin Anda salin.
- Untuk Project sumber, masukkan ID project set data sumber Anda.
Untuk menimpa data dan skema tabel tujuan dengan tabel sumber, pilih kotak centang Timpa tabel tujuan. Tabel sumber dan tujuan harus memiliki skema partisi yang sama.
Di menu Service Account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.
- Jika Anda login dengan identitas gabungan, akun layanan diperlukan untuk membuat transfer. Jika Anda login dengan Akun Google, akun layanan untuk transfer bersifat opsional.
- Akun layanan harus memiliki peran yang diperlukan.
Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:
- Untuk mengaktifkan notifikasi email, klik tombol. Saat Anda mengaktifkan opsi ini, pemilik konfigurasi transfer akan menerima notifikasi email saat proses transfer gagal.
- Untuk mengaktifkan notifikasi Pub/Sub, klik tombol, lalu pilih nama topic dari daftar atau klik Create a topic. Opsi ini mengatur notifikasi operasi Pub/Sub untuk transfer Anda.
Klik Simpan.
bq
Aktifkan BigQuery Data Transfer Service untuk set data tujuan Anda.
Pastikan Anda memiliki peran yang diperlukan.
Untuk membuat set data BigQuery, gunakan perintah
bq mk
dengan flag pembuatan set data--dataset
dan flaglocation
:bq mk \ --dataset \ --location=LOCATION \ PROJECT:DATASET
Ganti kode berikut:
LOCATION
: lokasi tempat Anda ingin menyalin set dataPROJECT
: project ID set data targetDATASET
: nama set data target
Untuk menyalin set data, gunakan perintah
bq mk
dengan flag pembuatan transfer--transfer_config
dan flag--data_source
. Anda harus menetapkan tanda--data_source
kecross_region_copy
. Untuk mengetahui daftar lengkap nilai yang valid untuk tanda--data_source
, lihat tanda transfer konfigurasi dalam referensi alat command line bq.bq mk \ --transfer_config \ --project_id=PROJECT \ --data_source=cross_region_copy \ --target_dataset=DATASET \ --display_name=NAME \ --service_account_name=SERCICE_ACCOUNT \ --params='PARAMETERS'
Ganti kode berikut:
NAME
: nama tampilan untuk tugas penyalinan atau konfigurasi transferSERVICE_ACCOUNT
: nama akun layanan yang digunakan untuk melakukan autentikasi transfer Anda. Akun layanan harus dimiliki olehproject_id
yang sama yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.PARAMETERS
: parameter untuk konfigurasi transfer dalam format JSONParameter untuk konfigurasi salinan set data mencakup hal berikut:
source_dataset_id
: ID set data sumber yang ingin Anda salinsource_project_id
: ID project tempat set data sumber Anda beradaoverwrite_destination_table
: flag opsional yang memungkinkan Anda memotong tabel salinan sebelumnya dan memuat ulang semua data
Tabel sumber dan tujuan harus memiliki skema partisi yang sama.
Contoh berikut menunjukkan format parameter, berdasarkan lingkungan sistem Anda:
Linux: gunakan tanda kutip tunggal untuk mencakup string JSON–misalnya:
'{"source_dataset_id":"mydataset","source_project_id":"mysourceproject","overwrite_destination_table":"true"}'
Command line Windows: gunakan tanda kutip ganda untuk mencakup string JSON, dan meng-escape tanda kutip ganda dalam string dengan garis miring terbalik–misalnya:
"{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}"
PowerShell: menggunakan tanda kutip tunggal untuk mencakup string JSON, dan menghindari tanda kutip ganda dalam string dengan garis miring terbalik, misalnya:
'{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}'
Misalnya, perintah berikut akan membuat konfigurasi salinan set data yang diberi nama
My Transfer
dengan set data target yang diberi namamydataset
dan project dengan IDmyproject
.bq mk \ --transfer_config \ --project_id=myproject \ --data_source=cross_region_copy \ --target_dataset=mydataset \ --display_name='My Transfer' \ --params='{ "source_dataset_id":"123_demo_eu", "source_project_id":"mysourceproject", "overwrite_destination_table":"true" }'
API
Aktifkan BigQuery Data Transfer Service untuk set data tujuan Anda.
Pastikan Anda memiliki peran yang diperlukan.
Untuk membuat set data BigQuery, panggil metode
datasets.insert
dengan resource set data yang ditentukan.Untuk menyalin set data, gunakan metode
projects.locations.transferConfigs.create
dan berikan instance resourceTransferConfig
.
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 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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Untuk menghindari biaya penyimpanan tambahan, pertimbangkan untuk menghapus set data sebelumnya.
Lihat tugas penyalinan set data
Untuk melihat status dan detail tugas penyalinan set data di konsol Google Cloud, lakukan hal berikut:
Di konsol Google Cloud, buka halaman Transfer data.
Pilih transfer yang ingin Anda lihat detail transfernya, lalu lakukan tindakan berikut:
Di halaman Detail transfer, pilih proses transfer.
Untuk memuat ulang, klik
Refresh.
Membuat ulang set data di lokasi lain
Untuk memindahkan set data secara manual dari satu lokasi ke lokasi lain, ikuti langkah-langkah berikut:
-
Ekspor data dari tabel BigQuery ke bucket Cloud Storage di lokasi yang sama dengan set data Anda atau di lokasi yang terdapat dalam lokasi set data Anda. Misalnya, jika set data Anda berada di lokasi multi-region
EU
, Anda dapat mengekspor data ke lokasieurope-west1
Belgia, yang merupakan bagian dari Uni Eropa.Ekspor data dari BigQuery tidak dikenai biaya, tetapi Anda akan dikenai biaya untuk menyimpan data yang diekspor di Cloud Storage. Ekspor BigQuery dikenai batas untuk tugas ekspor.
-
Salin atau pindahkan data dari bucket Cloud Storage yang diekspor ke bucket baru yang Anda buat di lokasi tujuan. Misalnya, jika Anda memindahkan data dari multi-region
US
ke regionasia-northeast1
Tokyo, Anda harus mentransfer data ke bucket yang Anda buat di Tokyo. Untuk informasi tentang cara mentransfer objek Cloud Storage, lihat Menyalin, mengganti nama, dan memindahkan objek dalam dokumentasi Cloud Storage.Mentransfer data antar-region akan menimbulkan biaya traffic keluar jaringan di Cloud Storage.
-
Buat set data BigQuery baru di lokasi baru, lalu muat data Anda dari bucket Cloud Storage ke dalam set data baru.
Anda tidak dikenai biaya untuk memuat data ke BigQuery, tetapi Anda akan dikenai biaya untuk penyimpanan data di Cloud Storage sampai Anda menghapus data atau bucket. Anda juga dikenai biaya untuk penyimpanan data di BigQuery setelah dimuat. Pemuatan data ke BigQuery tunduk pada batas tugas pemuatan.
Anda juga dapat menggunakan Cloud Composer untuk memindahkan dan menyalin set data besar secara terprogram.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Cloud Storage untuk menyimpan dan memindahkan set data besar, lihat Menggunakan Cloud Storage dengan big data.
Mengamankan set data
Untuk mengontrol akses ke set data di BigQuery, lihat Mengontrol akses ke set data. Untuk informasi tentang enkripsi data, lihat Enkripsi dalam penyimpanan.
Menghapus set data
Saat Anda menghapus set data menggunakan Konsol Google Cloud, tabel dan tampilan dalam set data, termasuk datanya, akan dihapus. Saat menghapus set data menggunakan alat command line bq, Anda harus menggunakan flag -r
untuk menghapus tabel dan tampilan.
Untuk menghapus set data, pilih salah satu opsi berikut:
Konsol
Buka halaman BigQuery.
Di panel Explorer, luaskan project Anda dan pilih set data.
Luaskan opsi
Tindakan, lalu klik Hapus.Pada dialog Delete dataset, ketik
delete
pada kolom, lalu klik Delete.
SQL
Untuk menghapus set data, gunakan
pernyataan DDL DROP SCHEMA
.
Contoh berikut menghapus set data bernama mydataset
:
Di konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
DROP SCHEMA IF EXISTS mydataset;
Secara default, tindakan ini hanya berfungsi untuk menghapus set data yang kosong. Untuk menghapus set data dan semua kontennya, gunakan kata kunci
CASCADE
:DROP SCHEMA IF EXISTS mydataset CASCADE;
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
bq
Gunakan perintah bq rm
dengan flag --dataset
atau -d
, yang bersifat opsional.
Jika set data Anda berisi tabel, Anda harus menggunakan flag -r
untuk menghapus semua tabel dalam set data. Jika Anda menggunakan flag -r
, Anda dapat menghilangkan
flag --dataset
atau -d
.
Setelah Anda menjalankan perintah, sistem akan meminta konfirmasi. Anda dapat menggunakan flag -f
untuk melewati konfirmasi.
Jika Anda menghapus tabel dalam project selain project default Anda, tambahkan project ID ke nama set data dalam format berikut: PROJECT_ID:DATASET
.
bq rm -r -f -d PROJECT_ID:DATASET
Ganti kode berikut:
PROJECT_ID
: Project ID Anda.DATASET
: nama set data yang Anda hapus
Contoh:
Masukkan perintah berikut untuk menghapus set data yang bernama mydataset
dan semua tabel di dalamnya dari project default Anda. Perintah ini menggunakan
flag -d
.
bq rm -r -d mydataset
Saat diminta, ketik y
dan tekan enter.
Masukkan perintah berikut untuk menghapus mydataset
dan semua tabel di dalamnya
dari myotherproject
. Perintah ini tidak menggunakan flag -d
opsional.
Flag -f
digunakan untuk melewati konfirmasi.
bq rm -r -f myotherproject:mydataset
Anda dapat menggunakan perintah bq ls
untuk mengonfirmasi bahwa set data telah dihapus.
API
Panggil metode
datasets.delete
untuk menghapus set data dan tetapkan parameter deleteContents
ke true
untuk
menghapus tabel di dalamnya.
C#
Contoh kode berikut akan menghapus set data yang kosong.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Contoh kode berikut menghapus set data dan semua kontennya:
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Java
Contoh kode berikut akan menghapus set data yang kosong.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Contoh kode berikut menghapus set data dan semua kontennya:
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Ruby
Contoh kode berikut akan menghapus set data yang kosong.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Instal klien Python untuk BigQuery Data Transfer API denganpip install google-cloud-bigquery-datatransfer
. Kemudian, buat konfigurasi transfer untuk menyalin set data.
Contoh kode berikut menghapus set data dan semua kontennya:
Memulihkan tabel dari set data yang dihapus
Anda dapat memulihkan tabel dari set data yang telah dihapus yang berada dalam jangka waktu perjalanan set data. Untuk memulihkan seluruh set data, lihat membatalkan penghapusan set data.
- Buat set data dengan nama dan lokasi yang sama seperti aslinya.
- Pilih stempel waktu dari sebelum set data asli dihapus menggunakan format milidetik sejak epoch–misalnya,
1418864998000
. Salin tabel
originaldataset.table1
pada waktu1418864998000
ke dalam set data baru:bq cp originaldataset.table1@1418864998000 mydataset.mytable
Untuk menemukan nama tabel yang tidak kosong yang ada dalam set data yang dihapus, buat kueri tampilan
INFORMATION_SCHEMA.TABLE_STORAGE
set data dalam jangka waktu perjalanan.
Membatalkan penghapusan set data
Anda dapat membatalkan penghapusan set data untuk memulihkannya ke status saat dihapus. Anda hanya dapat membatalkan penghapusan set data yang berada dalam periode perjalanan waktu. Pemulihan ini mencakup semua objek yang terdapat dalam set data, properti set data, dan setelan keamanan. Untuk resource yang tidak dipulihkan, lihat Batasan penghapusan set data.
Batasan membatalkan penghapusan set data
- Set data yang dipulihkan mungkin mereferensikan akun keamanan yang tidak ada lagi.
- Referensi ke set data yang dihapus dalam set data tertaut tidak dipulihkan dengan menghapus penghapusan. Pelanggan harus berlangganan lagi untuk memulihkan link secara manual.
- Tag bisnis tidak dipulihkan dengan membatalkan penghapusan.
- Anda harus memuat ulang tampilan terwujud secara manual dan memberikan otorisasi ulang tampilan yang diotorisasi, set data yang diotorisasi, dan rutinitas yang diotorisasi. Perhatikan bahwa, saat resource yang diotorisasi (tampilan, set data, dan rutinitas) dihapus, perlu waktu hingga 24 jam agar otorisasi dihapus. Jadi, jika Anda menghapus pembatalan penghapusan set data dengan resource yang diotorisasi kurang dari 24 jam setelah penghapusan, mungkin otorisasi ulang tidak diperlukan. Sebagai praktik terbaik, selalu verifikasi otorisasi setelah membatalkan penghapusan resource.
Membatalkan penghapusan set data
Untuk membatalkan penghapusan set data, pilih salah satu opsi berikut:
SQL
Gunakan
pernyataan bahasa definisi data (DDL) UNDROP SCHEMA
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
UNDROP SCHEMA
DATASET_ID
;Ganti
DATASET_ID
dengan set data yang ingin Anda urungkan penghapusannya.Tentukan lokasi set data yang ingin Anda batalkan penghapusannya.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
API
Panggil
metode datasets.undelete
.
Saat Anda membatalkan penghapusan set data, error berikut mungkin terjadi:
ALREADY_EXISTS
: set data dengan nama yang sama sudah ada di region tempat Anda mencoba membatalkan penghapusan. Anda tidak dapat menggunakan pembatalan penghapusan untuk menimpa atau menggabungkan set data.NOT_FOUND
: set data yang Anda coba pulihkan telah melewati periode perjalanan waktunya, set data tersebut tidak pernah ada, atau Anda tidak menentukan lokasi yang benar untuk set data tersebut.ACCESS_DENIED
: Anda tidak memiliki izin yang benar untuk membatalkan penghapusan set data ini.
Kuota
Untuk mengetahui informasi tentang kuota penyalinan, lihat Menyalin tugas.
Penggunaan untuk tugas penyalinan tersedia di INFORMATION_SCHEMA
. Untuk mempelajari cara
membuat kueri tampilan INFORMATION_SCHEMA.JOBS
, lihat
tampilan JOBS
.
Harga
Untuk mengetahui informasi harga penyalinan set data, lihat Harga replikasi data.
BigQuery mengirimkan data terkompresi untuk disalin ke berbagai region sehingga data yang ditagih mungkin lebih kecil dari ukuran set data Anda yang sebenarnya. Untuk informasi lebih lanjut, lihat Harga BigQuery.
Langkah berikutnya
- Pelajari cara membuat set data.
- Pelajari cara memperbarui set data.