Dokumen ini memberikan petunjuk tentang cara memuat sejumlah kecil data dalam format file CSV ke Spanner. Anda dapat memuat data sampel sebelum melakukan migrasi data produksi untuk menguji skema, kueri, dan aplikasi.
Sebelum memulai
Instal Google Cloud CLI atau menggunakan Cloud Shell, yang memiliki semua alat yang diperlukan sudah terinstal di dalamnya.
-
Untuk mendapatkan izin yang diperlukan untuk mengekspor data BigQuery ke Spanner, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:
-
Mengekspor data dari tabel BigQuery:
Penampil Data BigQuery (
roles/bigquery.dataViewer
) -
Menjalankan tugas ekspor:
Pengguna BigQuery (
roles/bigquery.user
) -
Menulis data ke tabel Spanner:
Pengguna Database Spanner (
roles/spanner.databaseUser
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui perintah peran atau setelan standar lainnya peran tertentu.
-
Mengekspor data dari tabel BigQuery:
Penampil Data BigQuery (
Memuat data sampel ke Spanner
Petunjuk berikut dilakukan menggunakan ETL balik BigQuery alur kerja dan Google Cloud CLI.
Tetapkan project default di gcloud CLI menggunakan perintah berikut:
gcloud config set project PROJECT_ID
Ekspor data sumber dalam format file CSV. Pertimbangkan untuk menggunakan
pg_dump
untuk Database PostgreSQL ataumysqldump
alat database MySQL untuk mengonversi data sampel ke dalam format CSV format file.Muat data ke BigQuery dengan menggunakan perintah
bq
berikut:Membuat set data BigQuery.
bq mk BQ_DATASET
Batch memuat data ke dalam tabel BigQuery baru.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE /path/to/file
Atau, Anda dapat memuat data secara batch dari file Cloud Storage.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
Membuat skema Spanner yang cocok dengan kolom yang diimpor BQ_TABLE dengan menggunakan perintah berikut:
gcloud spanner databases ddl update SPANNER_DATABASE \ --instance=SPANNER_INSTANCE \ --ddl="CREATE TABLE SPANNER_TABLE ..."
Untuk informasi selengkapnya, lihat Memperbarui skema Spanner.
Ekspor data dari BigQuery ke Spanner menggunakan perintah berikut:
bq --use_legacy_sql=false 'EXPORT DATA OPTIONS( uri="https://spanner.googleapis.com/projects/PROJECT_ID/instances/SPANNER_INSTANCE/databases/SPANNER_DATABASE" format='CLOUD_SPANNER' spanner_options="""{ "table": "SPANNER_TABLE" }""" ) AS SELECT * FROM BQ_DATASET.BQ_TABLE;'