Template Bigtable ke Parquet Cloud Storage

Template Bigtable ke Cloud Storage Parquet adalah pipeline yang membaca data dari tabel Bigtable dan menulisnya ke bucket Cloud Storage dalam format Parquet. Anda dapat menggunakan template untuk memindahkan data dari Bigtable ke Cloud Storage.

Persyaratan pipeline

  • Tabel Bigtable harus ada.
  • Bucket Cloud Storage output harus ada sebelum menjalankan pipeline.

Parameter template

Parameter yang diperlukan

  • bigtableProjectId : ID project Google Cloud yang berisi instance Cloud Bigtable yang datanya ingin Anda baca.
  • bigtableInstanceId : ID instance Cloud Bigtable yang berisi tabel.
  • bigtableTableId : ID tabel Cloud Bigtable yang akan diekspor.
  • outputDirectory : Awalan jalur dan nama file untuk menulis file output. Harus diakhiri dengan garis miring. Pemformatan DateTime digunakan untuk mengurai jalur direktori untuk pemformat tanggal dan waktu. Misalnya: gs://bucket-Anda/jalur-Anda.
  • filenamePrefix : Awalan nama file Parquet. Misalnya, "table1-". Secara default: part.

Parameter opsional

  • numShards : Jumlah maksimum shard output yang dihasilkan saat menulis. Jumlah shard yang lebih tinggi berarti throughput yang lebih tinggi untuk menulis ke Cloud Storage, tetapi berpotensi meningkatkan biaya agregasi data di seluruh shard saat memproses file Cloud Storage output. Nilai default ditentukan oleh Dataflow.
  • bigtableAppProfileId : ID profil aplikasi Bigtable yang akan digunakan untuk ekspor. Jika Anda tidak menentukan profil aplikasi, Bigtable akan menggunakan profil aplikasi default instance: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.

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 Cloud Bigtable to Parquet Files on Cloud Storage 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/Cloud_Bigtable_to_GCS_Parquet \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX,\
numShards=NUM_SHARDS

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
  • OUTPUT_DIRECTORY: jalur Cloud Storage tempat data ditulis, misalnya, gs://mybucket/somefolder
  • FILENAME_PREFIX: awalan nama file Parquet, misalnya, output-
  • NUM_SHARDS: jumlah file Parquet yang akan di-output, misalnya, 1

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/Cloud_Bigtable_to_GCS_Parquet
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
       "numShards": "NUM_SHARDS"
   },
   "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
  • OUTPUT_DIRECTORY: jalur Cloud Storage tempat data ditulis, misalnya, gs://mybucket/somefolder
  • FILENAME_PREFIX: awalan nama file Parquet, misalnya, output-
  • NUM_SHARDS: jumlah file Parquet yang akan di-output, misalnya, 1

Langkah selanjutnya