Plantilla de Bigtable a Parquet de Cloud Storage

La plantilla de Bigtable a Parquet de Cloud Storage es una canalización que lee datos de una tabla de Bigtable y los escribe en un bucket de Cloud Storage en formato Parquet. Puedes usar la plantilla para mover datos de Bigtable a Cloud Storage.

Requisitos del flujo de procesamiento

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

Parámetros de plantilla

Parámetros obligatorios

  • bigtableProjectId el ID del proyecto de Google Cloud que contiene la instancia de Cloud Bigtable de la que quieres leer datos.
  • bigtableInstanceId el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • bigtableTableId el ID de la tabla de Cloud Bigtable que se va a exportar.
  • outputDirectory prefijo de ruta y de nombre de archivo para escribir archivos de salida. Debe terminar con una barra diagonal. El formato de fecha y hora se usa para analizar la ruta del directorio de los formateadores de fecha y hora. Por ejemplo: gs://your-bucket/your-path.
  • filenamePrefix el prefijo del nombre del archivo Parquet. Por ejemplo, table1-. El valor predeterminado es part.

Parámetros opcionales

  • numShards: número máximo de fragmentos de salida que se producen al escribir. Un mayor número de particiones implica un mayor rendimiento para escribir en Cloud Storage, pero puede suponer un mayor coste de agregación de datos en las particiones al procesar los archivos de Cloud Storage de salida. Dataflow decide el valor predeterminado.
  • bigtableAppProfileId: ID del perfil de aplicación de Bigtable que se va a usar para la exportación. Si no especificas un perfil de aplicación, Bigtable usará el perfil de aplicación predeterminado de la instancia: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.

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 Cloud Bigtable to Parquet Files on Cloud Storage 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 jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_Parquet \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX,\
numShards=NUM_SHARDS

Haz los cambios siguientes:

  • 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
  • BIGTABLE_PROJECT_ID: el ID del Google Cloud proyecto de la instancia de Bigtable de la que quieres leer datos.
  • INSTANCE_ID: el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: el ID de la tabla de Bigtable que se va a exportar.
  • OUTPUT_DIRECTORY: ruta de Cloud Storage en la que se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
  • FILENAME_PREFIX: el prefijo del nombre de archivo Parquet. Por ejemplo, output-.
  • NUM_SHARDS: número de archivos Parquet que se van a generar. Por ejemplo, 1.

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_Bigtable_to_GCS_Parquet
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
       "numShards": "NUM_SHARDS"
   },
   "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 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
  • BIGTABLE_PROJECT_ID: el ID del Google Cloud proyecto de la instancia de Bigtable de la que quieres leer datos.
  • INSTANCE_ID: el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: el ID de la tabla de Bigtable que se va a exportar.
  • OUTPUT_DIRECTORY: ruta de Cloud Storage en la que se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
  • FILENAME_PREFIX: el prefijo del nombre de archivo Parquet. Por ejemplo, output-.
  • NUM_SHARDS: número de archivos Parquet que se van a generar. Por ejemplo, 1.

Siguientes pasos