Template BigQuery Export ke Parquet (melalui Storage API)

Template BigQuery Export ke Parquet adalah pipeline batch yang membaca data dari tabel BigQuery dan menulisnya ke bucket Cloud Storage dalam format Parquet. Template ini menggunakan BigQuery Storage API untuk mengekspor data.

Persyaratan pipeline

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

Parameter template

Parameter yang diperlukan

  • tableRef : Lokasi tabel input BigQuery. (Contoh: project-anda:set-data-anda.nama-tabel-anda).
  • bucket : Folder Cloud Storage tempat Anda menulis file Parquet. (Contoh: gs://your-bucket/export/).

Parameter opsional

  • numShards : Jumlah shard file output. Nilai default adalah 1.
  • fields : Daftar kolom yang dipisahkan koma untuk dipilih dari tabel BigQuery input.
  • rowRestriction : Hanya baca baris yang cocok dengan filter yang ditentukan, yang harus berupa ekspresi SQL yang kompatibel dengan SQL standar Google (https://cloud.google.com/bigquery/docs/reference/standard-sql). Jika tidak ada nilai yang ditentukan, semua baris akan ditampilkan.

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 BigQuery export to Parquet (via Storage API) template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal, jalankan template:

gcloud dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/BigQuery_to_Parquet \
    --region=REGION_NAME \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

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:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya, us-central1
  • BIGQUERY_TABLE: nama tabel BigQuery Anda
  • OUTPUT_DIRECTORY: folder Cloud Storage Anda untuk file output
  • NUM_SHARDS: jumlah shard file output yang diinginkan
  • FIELDS: daftar kolom yang dipisahkan koma untuk dipilih dari tabel BigQuery input

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/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "tableRef": "BIGQUERY_TABLE",
          "bucket": "OUTPUT_DIRECTORY",
          "numShards": "NUM_SHARDS",
          "fields": "FIELDS"
      },
      "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/BigQuery_to_Parquet",
   }
}

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
  • BIGQUERY_TABLE: nama tabel BigQuery Anda
  • OUTPUT_DIRECTORY: folder Cloud Storage Anda untuk file output
  • NUM_SHARDS: jumlah shard file output yang diinginkan
  • FIELDS: daftar kolom yang dipisahkan koma untuk dipilih dari tabel BigQuery input

Langkah selanjutnya