Template BigQuery ke Cloud Storage TFRecords

Template BigQuery ke Cloud Storage TFRecords adalah pipeline yang membaca data dari kueri BigQuery dan menulisnya ke bucket Cloud Storage dalam format TFRecord. Anda dapat menentukan pemisahan 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. Misalnya, pilih * dari 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/train (Contoh: 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 entitas target. (Contoh: gs://bucket-anda/jalur-anda).
  • outputSuffix : Akhiran file untuk file TFRecord pelatihan, pengujian, dan validasi yang ditulis. Nilai defaultnya adalah .tfrecord.
  • trainingPercentage : Persentase data kueri yang dialokasikan untuk melatih file TFRecord. Nilai defaultnya adalah 1, atau 100%.
  • testingPercentage : Persentase data kueri yang dialokasikan untuk menguji file TFRecord. 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 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 to TFRecords 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_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 yang diinginkan

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_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 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
  • 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 yang diinginkan

Langkah selanjutnya