Template BigQuery ke Cloud Storage TFRecords

Template BigQuery ke Cloud Storage TFRecords adalah pipeline yang membaca data dari kueri BigQuery dan menuliskannya ke bucket Cloud Storage dalam format TFRecord. Anda dapat menentukan pembagian persentase pelatihan, pengujian, dan validasi. Secara default, pemisahan adalah 1 atau 100% untuk set pelatihan dan 0 atau 0% untuk set pengujian dan validasi. Saat menetapkan pemisahan set data, jumlah pelatihan, pengujian, dan validasi harus berjumlah 1 atau 100% (misalnya, 0,6+0,2+0,2). Dataflow secara otomatis menentukan jumlah shard yang optimal untuk setiap set data output.

Persyaratan pipeline

  • Set data dan tabel BigQuery harus ada.
  • Bucket Cloud Storage output harus ada sebelum eksekusi pipeline. Subdirektori pelatihan, pengujian, dan validasi tidak perlu ada sebelumnya dan dibuat secara otomatis.

Parameter template

Parameter yang diperlukan

  • readQuery: Kueri SQL BigQuery yang mengekstrak data dari sumber. Contoh, select * from dataset1.sample_table.
  • outputDirectory: Awalan jalur Cloud Storage tingkat teratas yang akan digunakan saat menulis file TFRecord pelatihan, pengujian, dan validasi. Subdirektori untuk file TFRecord pelatihan, pengujian, dan validasi yang dihasilkan akan otomatis dibuat dari outputDirectory. Misalnya, gs://mybucket/output.

Parameter opsional

  • readIdColumn: Nama kolom BigQuery yang menyimpan ID unik baris.
  • invalidOutputPath: Jalur Cloud Storage tempat menulis baris BigQuery yang tidak dapat dikonversi menjadi target entitas. Contoh, gs://your-bucket/your-path.
  • outputSuffix: Suffix file untuk file TFRecord pelatihan, pengujian, dan validasi yang ditulis. Nilai defaultnya adalah .tfrecord.
  • trainingPercentage: Persentase data kueri yang dialokasikan ke file TFRecord pelatihan. Nilai defaultnya adalah 1, atau 100%.
  • testingPercentage: Persentase data kueri yang dialokasikan ke file TFRecord pengujian. Nilai defaultnya adalah 0, atau 0%.
  • validationPercentage: Persentase data kueri yang dialokasikan ke file TFRecord validasi. Nilai defaultnya adalah 0, atau 0%.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Create job from template.
  2. Buka Membuat 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 default-nya adalah us-central1.

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

  5. Dari menu drop-down Template Dataflow, pilih the BigQuery to TFRecords template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal Anda, jalankan template:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records \
    --region REGION_NAME \
    --parameters \
readQuery=READ_QUERY,\
outputDirectory=OUTPUT_DIRECTORY,\
trainingPercentage=TRAINING_PERCENTAGE,\
testingPercentage=TESTING_PERCENTAGE,\
validationPercentage=VALIDATION_PERCENTAGE,\
outputSuffix=OUTPUT_FILENAME_SUFFIX

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
  • READ_QUERY: kueri BigQuery yang akan dijalankan
  • OUTPUT_DIRECTORY: awalan jalur Cloud Storage untuk set data output
  • TRAINING_PERCENTAGE: pemisahan persentase desimal untuk set data pelatihan
  • TESTING_PERCENTAGE: pemisahan persentase desimal untuk set data pengujian
  • VALIDATION_PERCENTAGE: pemisahan persentase desimal untuk set data validasi
  • OUTPUT_FILENAME_SUFFIX: akhiran file TensorFlow Record output pilihan

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. 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_BigQuery_to_GCS_TensorFlow_Records
{
   "jobName": "JOB_NAME",
   "parameters": {
       "readQuery":"READ_QUERY",
       "outputDirectory":"OUTPUT_DIRECTORY",
       "trainingPercentage":"TRAINING_PERCENTAGE",
       "testingPercentage":"TESTING_PERCENTAGE",
       "validationPercentage":"VALIDATION_PERCENTAGE",
       "outputSuffix":"OUTPUT_FILENAME_SUFFIX"
   },
   "environment": { "zone": "us-central1-f" }
}

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project 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
  • READ_QUERY: kueri BigQuery yang akan dijalankan
  • OUTPUT_DIRECTORY: awalan jalur Cloud Storage untuk set data output
  • TRAINING_PERCENTAGE: pemisahan persentase desimal untuk set data pelatihan
  • TESTING_PERCENTAGE: pemisahan persentase desimal untuk set data pengujian
  • VALIDATION_PERCENTAGE: pemisahan persentase desimal untuk set data validasi
  • OUTPUT_FILENAME_SUFFIX: akhiran file TensorFlow Record output pilihan

Langkah berikutnya