Mengimpor file CSV

Halaman ini menjelaskan cara mengimpor file CSV ke database AlloyDB.

Prosedur untuk melakukan impor melibatkan tugas-tugas berikut:

  1. Upload file CSV ke bucket Cloud Storage.

  2. Siapkan host klien untuk melakukan operasi impor.

  3. Impor file CSV ke dalam database.

  4. 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)

Mengupload file CSV

Untuk mengupload file CSV, Anda membuat bucket Cloud Storage, lalu mengupload file CSV ke bucket tersebut.

  1. Buat bucket penyimpanan standar, penyimpanan regional di project dan region tempat database AlloyDB Anda berada.

  2. 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.

  1. 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.

  2. 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.

  1. Dapatkan alamat IP instance utama AlloyDB tempat database Anda berada dengan melihat detailnya.
  2. Gunakan SSH untuk terhubung ke VM Compute Engine.

    Konsol

    1. Di konsol Google Cloud, buka halaman Instance VM.

      Buka instance VM

    2. Di daftar instance virtual machine, klik SSH di baris instance yang Anda buat.

      Tombol SSH di samping nama instance.

    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
  3. Salin file CSV ke sistem file lokal host klien:
    gcloud storage cp gs://BUCKET_NAME/CSV_FILE_NAME .
  4. Impor file CSV:
    1. 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.
    2. 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.

    3. 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 di psql menggunakan opsi dan argumen yang sama dengan perintah COPY PostgreSQL untuk mengontrol operasi impor data.

Membersihkan resource

Setelah berhasil mengimpor file CSV, Anda dapat menghapus bucket Cloud Storage dan menghapus VM Compute Engine yang Anda gunakan selama prosedur impor.