Template Cloud Storage Parquet ke Bigtable

Template Cloud Storage Parquet ke Bigtable adalah pipeline yang membaca data dari file Parquet di bucket Cloud Storage dan menulis data ke tabel Bigtable. Anda dapat menggunakan template untuk menyalin data dari Cloud Storage ke Bigtable.

Persyaratan pipeline

  • Tabel Bigtable harus ada dan memiliki grup kolom yang sama seperti yang diekspor dalam file Parquet.
  • File Parquet input harus ada di bucket Cloud Storage sebelum menjalankan pipeline.
  • Bigtable mengharapkan skema tertentu dari file Parquet input.

Parameter template

Parameter yang diperlukan

  • bigtableProjectId : ID project Google Cloud yang terkait dengan instance Bigtable.
  • bigtableInstanceId : ID instance Cloud Bigtable yang berisi tabel.
  • bigtableTableId : ID tabel Bigtable yang akan diimpor.
  • inputFilePattern : Jalur Cloud Storage dengan file yang berisi data. (Contoh: gs://bucket-anda/file-anda/*.parquet).

Parameter opsional

  • splitLargeRows : Flag untuk mengaktifkan pemisahan baris besar menjadi beberapa permintaan MutateRows. Perhatikan bahwa saat baris besar dibagi di antara beberapa panggilan API, update pada baris tersebut tidak bersifat atomik. .

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Nama tugas, masukkan nama tugas yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya adalah us-central1.

    Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal, jalankan template:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Parquet_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Ganti kode berikut:

  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • BIGTABLE_PROJECT_ID: ID project Google Cloud dari instance Bigtable yang datanya ingin Anda baca
  • INSTANCE_ID: ID instance Bigtable yang berisi tabel
  • TABLE_ID: ID tabel Bigtable yang akan diekspor
  • INPUT_FILE_PATTERN: pola jalur Cloud Storage tempat data berada, misalnya, gs://mybucket/somefolder/prefix*

API

Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui informasi selengkapnya tentang API dan cakupan otorisasinya, lihat projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Parquet_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama tugas unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • BIGTABLE_PROJECT_ID: ID project Google Cloud dari instance Bigtable yang datanya ingin Anda baca
  • INSTANCE_ID: ID instance Bigtable yang berisi tabel
  • TABLE_ID: ID tabel Bigtable yang akan diekspor
  • INPUT_FILE_PATTERN: pola jalur Cloud Storage tempat data berada, misalnya, gs://mybucket/somefolder/prefix*

Langkah selanjutnya