Plantilla de Avro de Cloud Storage a Bigtable

La plantilla de Cloud Storage Avro a Bigtable es una canalización que lee datos de archivos de Avro en un segmento de Cloud Storage y los escribe en una tabla de Bigtable. Puede usar la plantilla para copiar datos de Cloud Storage en Bigtable.

Requisitos del flujo de procesamiento

  • La tabla de Bigtable debe existir y tener las mismas familias de columnas que las exportadas en los archivos Avro.
  • Los archivos Avro de entrada deben estar en un segmento de Cloud Storage antes de ejecutar el flujo de procesamiento.
  • Bigtable espera un esquema específico de los archivos Avro de entrada.

Parámetros de plantilla

Parámetros obligatorios

  • bigtableProjectId el ID del proyecto de Google Cloud que contiene la instancia de Bigtable en la que quieres escribir datos.
  • bigtableInstanceId el ID de la instancia de Bigtable que contiene la tabla.
  • bigtableTableId el ID de la tabla de Bigtable que se va a importar.
  • inputFilePattern patrón de ruta de Cloud Storage en el que se encuentran los datos. Por ejemplo, gs://<BUCKET_NAME>/FOLDER/PREFIX*.

Parámetros opcionales

  • splitLargeRows marca para habilitar la división de filas grandes en varias solicitudes MutateRows. Ten en cuenta que, cuando una fila grande se divide entre varias llamadas a la API, las actualizaciones de la fila no son atómicas.

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 Avro Files on Cloud Storage to Cloud Bigtable 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/GCS_Avro_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

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.
  • INPUT_FILE_PATTERN: patrón de ruta de Cloud Storage en el que se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.

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/GCS_Avro_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "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.
  • INPUT_FILE_PATTERN: patrón de ruta de Cloud Storage en el que se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.

Siguientes pasos