Menyalin snapshot tabel
Dokumen ini menjelaskan cara membuat salinan snapshot tabel menggunakan
Konsol Google Cloud, pernyataan SQL
CREATE SNAPSHOT TABLE
, bq cp -s --no_clobber
, atau jobs.insert
API. Fitur ini ditujukan bagi pengguna yang sudah memahami snapshot tabel BigQuery.
Izin dan peran
Bagian ini menjelaskan izin Identity and Access Management (IAM) yang Anda perlukan untuk membuat salinan snapshot tabel, dan peran IAM yang telah ditetapkan sebelumnya yang memberikan izin tersebut.
Izin
Untuk menyalin snapshot tabel, Anda memerlukan izin berikut:
Izin | Resource |
---|---|
Semua yang berikut ini:bigquery.tables.get bigquery.tables.getData bigquery.tables.createSnapshot
|
Snapshot tabel yang ingin Anda salin. |
bigquery.tables.create
|
Set data yang berisi salinan snapshot tabel. |
Peran
Peran BigQuery yang telah ditentukan dan memberikan izin yang diperlukan adalah sebagai berikut:
Role | Resource |
---|---|
Apa pun dari yang berikut ini:bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
Snapshot tabel yang ingin Anda salin. |
Apa pun dari yang berikut ini:bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
Set data yang berisi salinan snapshot tabel. |
Batasan
Anda tidak dapat menyalin snapshot tabel pada snapshot tabel atau tabel yang sudah ada.
Untuk mengetahui informasi selengkapnya tentang batasan snapshot tabel, lihat batasan snapshot tabel.
Menyalin snapshot tabel
Proses pembuatan salinan snapshot tabel mirip dengan proses membuat snapshot tabel. Perbedaannya adalah Anda menentukan snapshot tabel yang ingin disalin sebagai tabel sumber.
Anda dapat membuat salinan snapshot tabel menggunakan salah satu opsi berikut:
Konsol
Di Konsol Google Cloud, buka halaman BigQuery.
Di panel Explorer, luaskan node project dan set data dari snapshot tabel yang ingin Anda lihat.
Klik nama snapshot tabel
Di panel snapshot yang muncul, klik Copy.
Di panel Copy table yang muncul, masukkan informasi Project, Dataset, dan Table untuk salinan snapshot tabel tujuan.
Klik Salin.
SQL
Gunakan
pernyataan DDL CREATE SNAPSHOT TABLE
:
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE SNAPSHOT TABLE COPY_PROJECT_ID.COPY_DATASET_NAME.COPY_NAME CLONE SNAPSHOT_PROJECT_ID.SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME;
Ganti kode berikut:
COPY_PROJECT_ID
: project ID dari project tempat untuk membuat salinan snapshot.COPY_DATASET_NAME
: nama set data tempat untuk membuat salinan snapshot.COPY_NAME
: nama salinan snapshot yang Anda buat.SNAPSHOT_PROJECT_ID
: project ID untuk project yang berisi snapshot yang Anda salin.SNAPSHOT_DATASET_NAME
: nama set data yang berisi snapshot yang Anda salin.SNAPSHOT_NAME
: nama snapshot yang Anda salin.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
bq
Masukkan perintah berikut di Cloud Shell:
bq cp \ -s \ --no_clobber \ SNAPSHOT_PROJECT_ID:SNAPSHOT_DATASET_NAME.SNAPSHOT_NAME \ COPY_PROJECT_ID:COPY_DATASET_NAME.COPY_NAME
Ganti kode berikut:
SNAPSHOT_PROJECT_ID
: project ID untuk project yang berisi snapshot yang Anda salin.SNAPSHOT_DATASET_NAME
: nama set data yang berisi snapshot yang Anda salin.SNAPSHOT_NAME
: nama snapshot yang Anda salin.COPY_PROJECT_ID
: project ID dari project tempat untuk membuat salinan snapshot.COPY_DATASET_NAME
: nama set data tempat untuk membuat salinan snapshot.COPY_NAME
: nama salinan snapshot yang Anda buat.
Flag --no_clobber
wajib diisi.
API
Panggil
metode jobs.insert
dengan
parameter berikut:
Parameter | Nilai |
---|---|
projectId |
ID project dari project yang akan ditagih untuk operasi ini. |
Isi permintaan | { "configuration": { "copy": { "sourceTables": [ { "projectId": "SNAPSHOT_PROJECT_ID", "datasetId": "SNAPSHOT_DATASET_NAME", "tableId": "SNAPSHOT_NAME" } ], "destinationTable": { "projectId": "COPY_PROJECT_ID", "datasetId": "COPY_DATASET_NAME", "tableId": "COPY_NAME" }, "operationType": "SNAPSHOT", "writeDisposition": "WRITE_EMPTY" } } } |
Ganti kode berikut:
SNAPSHOT_PROJECT_ID
: project ID untuk project yang berisi snapshot yang Anda salin.SNAPSHOT_DATASET_NAME
: nama set data yang berisi snapshot yang Anda salin.SNAPSHOT_NAME
: nama snapshot yang Anda salin.COPY_PROJECT_ID
: project ID dari project tempat untuk membuat salinan snapshot.COPY_DATASET_NAMECOPY_DATASET_NAME
: nama set data tempat untuk membuat salinan snapshot.COPY_NAME
: nama salinan snapshot yang Anda buat.