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 gunakan Cloud Shell, yang telah menginstal semua alat yang diperlukan.
-
Untuk mendapatkan izin yang diperlukan untuk mengekspor data BigQuery ke Spanner, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Mengekspor data dari tabel BigQuery:
BigQuery Data Viewer (
roles/bigquery.dataViewer
) -
Menjalankan tugas ekspor:
BigQuery User (
roles/bigquery.user
) -
Menulis data ke tabel Spanner:
Spanner Database User (
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 peran khusus atau peran bawaan lainnya.
-
Mengekspor data dari tabel BigQuery:
BigQuery Data Viewer (
Memuat data sampel ke Spanner
Petunjuk berikut dilakukan menggunakan alur kerja BigQuery reverse ETL 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
untuk alat database MySQL guna mengonversi data sampel Anda ke dalam format file CSV.Muat data ke BigQuery menggunakan perintah
bq
berikut:Membuat set data BigQuery.
bq mk BQ_DATASET
Memuat data secara massal ke 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
Buat skema Spanner yang cocok dengan BQ_TABLE yang diimpor 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.
Mengekspor 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;'