Plantilla de exportación de BigQuery a Parquet (mediante la API Storage)

La plantilla de exportación de BigQuery a Parquet es un flujo de procesamiento por lotes que lee datos de una tabla de BigQuery y los escribe en un segmento de Cloud Storage en formato Parquet. Esta plantilla utiliza la API Storage de BigQuery para exportar los datos.

Requisitos del flujo de procesamiento

  • La tabla de entrada de BigQuery debe existir antes de ejecutar el flujo de procesamiento.
  • El segmento de Cloud Storage de salida debe existir antes de ejecutar el flujo de procesamiento.

Parámetros de plantilla

Parámetros obligatorios

  • tableRef la ubicación de la tabla de entrada de BigQuery. Por ejemplo, your-project:your-dataset.your-table-name.
  • bucket: la carpeta de Cloud Storage en la que se escribirán los archivos Parquet. Por ejemplo, gs://your-bucket/export/.

Parámetros opcionales

  • numShards el número de fragmentos del archivo de salida. El valor predeterminado es 1.
  • fields: lista separada por comas de los campos que se seleccionarán de la tabla de BigQuery de entrada.
  • rowRestriction filas de solo lectura que coinciden con el filtro especificado, que debe ser una expresión SQL compatible con el estándar SQL de Google (https://cloud.google.com/bigquery/docs/reference/standard-sql). Si no se especifica ningún valor, se devuelven todas las filas.

Ejecutar la plantilla

Consola

  1. Ve a la página Crear tarea a partir de plantilla de Dataflow.
  2. Ir a Crear tarea a partir de plantilla
  3. En el campo Nombre de la tarea, introduce un nombre único.
  4. 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.

  5. En el menú desplegable Plantilla de flujo de datos, seleccione the BigQuery export to Parquet (via Storage API) template.
  6. En los campos de parámetros proporcionados, introduzca los valores de los parámetros.
  7. Haz clic en Ejecutar trabajo.

gcloud

En tu shell o terminal, ejecuta la plantilla:

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto Google Cloud en el que quieres ejecutar la tarea de Dataflow
  • JOB_NAME: un nombre de trabajo único que elijas
  • VERSION: la versión de la plantilla que quieres usar

    Puedes 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
  • BIGQUERY_TABLE: nombre de la tabla de BigQuery
  • OUTPUT_DIRECTORY: tu carpeta de Cloud Storage para los archivos de salida
  • NUM_SHARDS: el número de particiones de archivo de salida que quieras
  • FIELDS: lista de campos separados por comas que se seleccionarán de la tabla de BigQuery de entrada.

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/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",
   }
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto Google Cloud en el que quieres ejecutar la tarea de Dataflow
  • JOB_NAME: un nombre de trabajo único que elijas
  • VERSION: la versión de la plantilla que quieres usar

    Puedes 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
  • BIGQUERY_TABLE: nombre de la tabla de BigQuery
  • OUTPUT_DIRECTORY: tu carpeta de Cloud Storage para los archivos de salida
  • NUM_SHARDS: el número de particiones de archivo de salida que quieras
  • FIELDS: lista de campos separados por comas que se seleccionarán de la tabla de BigQuery de entrada.

Siguientes pasos