Template TFRecords BigQuery ke Cloud Storage

Template TFRecords BigQuery ke Cloud Storage 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, pembagiannya adalah 1 atau 100% untuk set pelatihan dan 0 atau 0% untuk set pengujian dan validasi. Saat menetapkan pembagian 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 di awal dan dibuat secara otomatis.

Parameter template

Parameter Deskripsi
readQuery Kueri SQL BigQuery yang mengekstrak data dari sumber. Misalnya, select * from dataset1.sample_table.
outputDirectory Awalan jalur Cloud Storage tingkat atas tempat menulis file TFRecord pelatihan, pengujian, dan validasi. Misalnya, gs://mybucket/output. Subdirektori untuk file TFRecord pelatihan, pengujian, dan validasi yang dihasilkan otomatis dihasilkan dari outputDirectory. Misalnya, gs://mybucket/output/train
trainingPercentage (Opsional) Persentase data kueri yang dialokasikan untuk file TFRecord pelatihan. Nilai defaultnya adalah 1, atau 100%.
testingPercentage (Opsional) Persentase data kueri yang dialokasikan untuk menguji file TFRecord. Nilai defaultnya adalah 0, atau 0%.
validationPercentage (Opsional) Persentase data kueri yang dialokasikan untuk validasi file TFRecord. Nilai defaultnya adalah 0, atau 0%.
outputSuffix (Opsional) Akhiran file untuk file TFRecord pelatihan, pengujian, dan validasi yang ditulis. Nilai defaultnya adalah .tfrecord.

Menjalankan template

Konsol

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

    Untuk 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 parameter value 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 pekerjaan 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: pembagian persentase desimal untuk set data pelatihan
  • TESTING_PERCENTAGE: pembagian persentase desimal untuk set data pengujian
  • VALIDATION_PERCENTAGE: pembagian 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 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 pekerjaan 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: pembagian persentase desimal untuk set data pelatihan
  • TESTING_PERCENTAGE: pembagian persentase desimal untuk set data pengujian
  • VALIDATION_PERCENTAGE: pembagian persentase desimal untuk set data validasi
  • OUTPUT_FILENAME_SUFFIX: akhiran file TensorFlow Record output pilihan

Langkah selanjutnya