Halaman ini menjelaskan cara mengimpor file CSV ke database AlloyDB.
Prosedur untuk melakukan impor melibatkan tugas-tugas berikut:
Upload file CSV ke bucket Cloud Storage.
Siapkan host klien untuk melakukan operasi impor.
Impor file CSV ke dalam database.
Bersihkan resource yang dibuat untuk melakukan prosedur.
Sebelum memulai
- Anda harus memiliki peran IAM dasar Pemilik (
roles/owner
) atau Editor (roles/editor
) di project Google Cloud yang Anda gunakan, atau Anda harus memiliki peran IAM bawaan berikut:- AlloyDB Admin (
roles/alloydb.admin
) atau AlloyDB Viewer (roles/alloydb.viewer
) - Storage Admin (
roles/storage.admin
) - Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
)
- AlloyDB Admin (
Mengupload file CSV
Untuk mengupload file CSV, Anda membuat bucket Cloud Storage, lalu mengupload file CSV ke bucket tersebut.
Buat bucket penyimpanan standar, penyimpanan regional di project dan region tempat database AlloyDB Anda berada.
Upload file CSV ke bucket penyimpanan yang Anda buat.
Menyiapkan host klien
Untuk menyiapkan host klien guna melakukan operasi impor, Anda membuat VM Compute Engine yang dapat terhubung ke instance utama AlloyDB tempat database Anda berada, dan menginstal alat psql
dan Google Cloud CLI di VM tersebut.
Ikuti petunjuk Menghubungkan klien psql ke instance untuk membuat VM Compute Engine dengan konektivitas yang tepat dan alat
psql
yang diinstal. Saat mengikuti petunjuk ini, pastikan untuk mengalokasikan penyimpanan lokal yang cukup ke VM Compute Engine untuk mengakomodasi file CSV yang Anda impor.Instal gcloud CLI untuk menyediakan akses command line ke file CSV di bucket Cloud Storage.
Mengimpor file CSV
Untuk mengimpor file CSV, Anda mendapatkan alamat IP instance utama AlloyDB tempat database Anda berada, lalu menggunakan alat psql
untuk membuat tabel yang berisi data CSV, lalu mengimpornya.
- Dapatkan alamat IP instance utama AlloyDB tempat database Anda berada dengan melihat detailnya.
- Gunakan SSH untuk terhubung ke VM Compute Engine.
Konsol
- Di konsol Google Cloud, buka halaman Instance VM.
- Di daftar instance virtual machine, klik SSH di baris instance yang Anda buat.
gcloud
Gunakan perintah
gcloud compute ssh
untuk terhubung ke instance yang Anda buat.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Ganti kode berikut:
PROJECT_ID
: ID project yang berisi instance.ZONE
: Nama zona tempat instance berada.VM_NAME
: nama instance
- Salin file CSV ke sistem file lokal host klien:
gcloud storage cp gs://BUCKET_NAME/CSV_FILE_NAME .
- Impor file CSV:
- Jalankan alat klien
psql
, lalu, di perintah psql, hubungkan ke database:psql -h IP_ADDRESS -U postgres \c DB_NAME
Anda akan diminta untuk memasukkan sandi pengguna
postgres
.IP_ADDRESS
: Alamat IP instance utama.DB_NAME
: Nama database tempat Anda ingin menyimpan data CSV.
- Buat tabel untuk menampung data CSV; misalnya:
CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real, date date );
Pernyataan
CREATE TABLE
di atas hanya untuk tujuan ilustrasi; Anda membuat tabel yang kolomnya cocok dengan data CSV Anda. - Impor data dari file CSV:
\copy TABLE_NAME(COLUMN_LIST) FROM 'CSV_FILE_NAME' DELIMITER ',' CSV HEADER ;
TABLE_NAME
: Nama tabel yang Anda buat di langkah sebelumnya.(COLUMN_LIST)
: Daftar nama kolom tabel yang dipisahkan koma untuk mengimpor data, sesuai urutan data muncul dalam file CSV.CSV_FILE_NAME
: File CSV.HEADER
: Indikasi bahwa file CSV berisi baris header yang akan diabaikan. Jika tidak, hapus parameter ini.
Perintah
\copy
dipsql
menggunakan opsi dan argumen yang sama dengan perintahCOPY
PostgreSQL untuk mengontrol operasi impor data. - Jalankan alat klien
Membersihkan resource
Setelah berhasil mengimpor file CSV, Anda dapat menghapus bucket Cloud Storage dan menghapus VM Compute Engine yang Anda gunakan selama prosedur impor.