La plantilla de BigQuery a TFRecords de Cloud Storage es una canalización que lee datos de una consulta de BigQuery y los escribe en un segmento de Cloud Storage en formato TFRecord. Puedes especificar los porcentajes de división de los datos de entrenamiento, prueba y validación. De forma predeterminada, la división es 1 (o el 100 %) para el conjunto de entrenamiento y 0 (o el 0 %) para los conjuntos de prueba y validación. Al definir la división del conjunto de datos, la suma de los conjuntos de entrenamiento, prueba y validación debe ser igual a 1 o al 100% (por ejemplo, 0,6 + 0,2 + 0,2). Dataflow determina automáticamente el número óptimo de particiones de cada conjunto de datos de salida.
Requisitos del flujo de procesamiento
- El conjunto de datos y la tabla de BigQuery deben existir.
- El segmento de Cloud Storage de salida debe existir antes de ejecutar el flujo de procesamiento. No es necesario que las subcarpetas de entrenamiento, pruebas y validación existan previamente, ya que se generan automáticamente.
Parámetros de plantilla
Parámetros obligatorios
- readQuery una consulta de SQL de BigQuery que extrae datos de la fuente. Por ejemplo,
select * from dataset1.sample_table
. - outputDirectory prefijo de la ruta de nivel superior de Cloud Storage que se usará al escribir los archivos TFRecord de entrenamiento, prueba y validación. Los subdirectorios de los archivos TFRecord de entrenamiento, prueba y validación resultantes se generan automáticamente a partir de
outputDirectory
. Por ejemplo,gs://mybucket/output
.
Parámetros opcionales
- readIdColumn nombre de la columna de BigQuery que almacena el identificador único de la fila.
- invalidOutputPath ruta de Cloud Storage en la que se escribirán las filas de BigQuery que no se puedan convertir en entidades de destino. Por ejemplo,
gs://your-bucket/your-path
. - outputSuffix el sufijo de los archivos TFRecord de entrenamiento, prueba y validación que se escriben. El valor predeterminado es
.tfrecord
. - trainingPercentage el porcentaje de datos de consulta asignado a los archivos TFRecord de entrenamiento. El valor predeterminado es
1
o100%
. - testingPercentage porcentaje de datos de consulta asignados a los archivos TFRecord de prueba. El valor predeterminado es
0
o0%
. - validationPercentage porcentaje de datos de consulta asignados a archivos TFRecord de validación. El valor predeterminado es
0
o0%
.
Ejecutar la plantilla
Consola
- Ve a la página Crear tarea a partir de plantilla de Dataflow. Ir a Crear tarea a partir de plantilla
- En el campo Nombre de la tarea, introduce un nombre único.
- Opcional: En Endpoint regional, seleccione un valor en el menú desplegable. La región predeterminada es
us-central1
.Para ver una lista de las regiones en las que puedes ejecutar una tarea de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de flujo de datos, seleccione the BigQuery to TFRecords template.
- En los campos de parámetros proporcionados, introduzca los valores de los parámetros.
- Haz clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
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
Haz los cambios siguientes:
JOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
READ_QUERY
: la consulta de BigQuery que se va a ejecutar.OUTPUT_DIRECTORY
: el prefijo de la ruta de Cloud Storage de los conjuntos de datos de salida.TRAINING_PERCENTAGE
: la división porcentual decimal del conjunto de datos de entrenamiento.TESTING_PERCENTAGE
: la división porcentual decimal del conjunto de datos de pruebaVALIDATION_PERCENTAGE
: porcentaje decimal de la división del conjunto de datos de validaciónOUTPUT_FILENAME_SUFFIX
: sufijo de archivo TensorFlow Record de salida preferido
API
Para ejecutar la plantilla mediante la API REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus ámbitos de autorización, consulta 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" } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto Google Cloud en el que quieres ejecutar la tarea de DataflowJOB_NAME
: un nombre de trabajo único que elijasVERSION
: la versión de la plantilla que quieres usarPuedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta principal sin fecha del contenedor: gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se encuentra anidada en la carpeta principal correspondiente con la fecha en el bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: la región en la que quieras desplegar tu trabajo de Dataflow. Por ejemplo,us-central1
READ_QUERY
: la consulta de BigQuery que se va a ejecutar.OUTPUT_DIRECTORY
: el prefijo de la ruta de Cloud Storage de los conjuntos de datos de salida.TRAINING_PERCENTAGE
: la división porcentual decimal del conjunto de datos de entrenamiento.TESTING_PERCENTAGE
: la división porcentual decimal del conjunto de datos de pruebaVALIDATION_PERCENTAGE
: porcentaje decimal de la división del conjunto de datos de validaciónOUTPUT_FILENAME_SUFFIX
: sufijo de archivo TensorFlow Record de salida preferido
Siguientes pasos
- Consulta información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas proporcionadas por Google.