Plantillas de utilidad proporcionadas por Google

Google ofrece un conjunto de plantillas de código abierto de Cloud Dataflow. Para obtener información general sobre las plantillas, consulta la página Descripción general. Para obtener una lista de todas las plantillas proporcionadas por Google, consulta la página Plantillas que proporciona Google.

En esta página, se documentan las siguientes plantillas de utilidad:

Compresión masiva de archivos de Cloud Storage

La plantilla de compresión masiva de archivos de Cloud Storage es una canalización por lotes con la que se comprimen archivos de Cloud Storage en una ubicación especificada. Esta plantilla puede ser útil cuando necesites comprimir grandes lotes de archivos como parte del proceso periódico de archivado. Los modos de compresión compatibles son: BZIP2, DEFLATE, GZIP, ZIP. Los archivos que se envíen a la ubicación de destino seguirán un esquema de nombres compuesto por el nombre de archivo original anexado con la extensión del modo de compresión. Las extensiones anexadas serán: .bzip2, .deflate, .gz, .zip.

Cualquier error que ocurra durante el proceso de compresión se enviará al archivo de falla en formato CSV del nombre de archivo, mensaje de error. Si no se producen fallas mientras se ejecuta la canalización, el archivo de error se creará, pero no tendrá registros de errores.

Requisitos para esta canalización:

  • La compresión debe tener uno de los siguientes formatos: BZIP2, DEFLATE, GZIP y ZIP.
  • El directorio de salida debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputFilePattern Patrón del archivo de entrada en el que se desea leer. Por ejemplo, gs://bucket-name/uncompressed/*.txt.
outputDirectory Ubicación de salida en la que se desea escribir. Por ejemplo, gs://bucket-name/compressed/.
outputFailureFile Archivo de salida del registro de errores para escribir fallas que ocurran durante el proceso de compresión. Por ejemplo, gs://bucket-name/compressed/failed.csv. Si no se encuentran fallas, el archivo se creará, pero estará vacío. El contenido del archivo tiene el formato CSV (nombre de archivo, error) y consta de una línea por cada archivo que tenga errores de compresión.
compression Algoritmo de compresión que se utiliza para comprimir los archivos coincidentes. El modo debe ser uno de los siguientes: BZIP2, DEFLATE, GZIP y ZIP.

Ejecuta la plantilla de compresión masiva de archivos de Cloud Storage

CONSOLE

Ejecútala desde Google Cloud Platform Console
  1. Ve a la página Cloud Dataflow en GCP Console.
  2. Ir a la página de Cloud Dataflow
  3. Haz clic en Create job from template (Crear un trabajo a partir de una plantilla).
  4. Botón Crear un trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona la plantilla de compresión masiva de archivos de Cloud Storage del menú desplegable Plantilla de Cloud Dataflow.
  6. Ingresa un nombre para el trabajo en el campo Nombre del trabajo. El nombre de tu trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Ejecutar trabajo.

GCLOUD

Ejecútala desde la herramienta de línea de comandos de gcloud

Nota: Para usar la herramienta de línea de comandos de gcloud a fin de ejecutar plantillas, debes tener la versión 138.0.0 del SDK de Cloud o una posterior.

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR-PROJECT-ID por el ID del proyecto.
  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza YOUR_BUCKET_NAME por el nombre de tu depósito de Cloud Storage.
  • Reemplaza COMPRESSION con el algoritmo de compresión que elijas.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Compress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/uncompressed/*.txt,\
outputDirectory=gs://YOUR_BUCKET_NAME/compressed,\
outputFailureFile=gs://YOUR_BUCKET_NAME/failed/failure.csv,\
compression=COMPRESSION

API

Ejecútala desde la API de REST

Para ejecutar esta plantilla, necesitarás la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Bulk_Compress_GCS_Files

Para ejecutar esta plantilla con una solicitud de la API de REST, envía una solicitud HTTP POST con tu ID del proyecto. Esta solicitud requiere de una autorización.

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR-PROJECT-ID por el ID del proyecto.
  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza YOUR_BUCKET_NAME por el nombre de tu depósito de Cloud Storage.
  • Reemplaza COMPRESSION con el algoritmo de compresión que elijas.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Compress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/uncompressed/*.txt",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/compressed",
       "outputFailureFile": "gs://YOUR_BUCKET_NAME/failed/failure.csv",
       "compression": "COMPRESSION"
   },
   "environment": { "zone": "us-central1-f" }
}

Descompresión masiva de archivos de Cloud Storage

La plantilla de descompresión masiva de archivos de Cloud Storage es una canalización por lotes que descomprime archivos de Cloud Storage en una ubicación especificada. Esta función es útil cuando deseas utilizar datos comprimidos para minimizar los costos del ancho de banda de la red durante una migración, pero quieres maximizar la velocidad de procesamiento analítico trabajando con datos no comprimidos luego de la migración. La canalización controla de forma automática los diferentes modos de compresión en una sola ejecución y determina el modo de descompresión que utilizará según la extensión de los archivos (.bzip2, .deflate, .gz, .zip).

Requisitos para esta canalización:

  • Los archivos que se descomprimirán deben tener uno de los siguientes formatos: Bzip2, Deflate, Gzip, Zip.
  • El directorio de salida debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputFilePattern Patrón del archivo de entrada en el que se desea leer. Por ejemplo, gs://bucket-name/compressed/*.gz.
outputDirectory Ubicación de salida en la que se desea escribir. Por ejemplo, gs://bucket-name/decompressed.
outputFailureFile Archivo de salida del registro de errores para escribir fallas que ocurran durante el proceso de descompresión. Por ejemplo, gs://bucket-name/decompressed/failed.csv. Si no se encuentran fallas, el archivo se creará, pero estará vacío. El contenido del archivo tiene el formato CSV (nombre de archivo, error) y consta de una línea por cada archivo que tenga errores de descompresión.

Ejecuta la plantilla de descompresión masiva de archivos de Cloud Storage

CONSOLE

Ejecútala desde Google Cloud Platform Console
  1. Ve a la página Cloud Dataflow en GCP Console.
  2. Ir a la página de Cloud Dataflow
  3. Haz clic en Create job from template (Crear un trabajo a partir de una plantilla).
  4. Botón Crear un trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona la plantilla de descompresión masiva de archivos de Cloud Storage del menú desplegable Plantilla de Cloud Dataflow.
  6. Ingresa un nombre para el trabajo en el campo Nombre del trabajo. El nombre de tu trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Ejecutar trabajo.

GCLOUD

Ejecútala desde la herramienta de línea de comandos de gcloud

Nota: Para usar la herramienta de línea de comandos de gcloud a fin de ejecutar plantillas, debes tener la versión 138.0.0 del SDK de Cloud o una posterior.

Para ejecutar esta plantilla, necesitarás la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR-PROJECT-ID por el ID del proyecto.
  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza YOUR_BUCKET_NAME por el nombre de tu depósito de Cloud Storage.
  • Reemplaza OUTPUT_FAILURE_FILE_PATH con tu ruta de acceso al archivo que contiene la información de falla.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/compressed/*.gz,\
outputDirectory=gs://YOUR_BUCKET_NAME/decompressed,\
outputFailureFile=OUTPUT_FAILURE_FILE_PATH

API

Ejecuta desde la API de REST

Para ejecutar esta plantilla, necesitarás la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

Para ejecutar esta plantilla con una solicitud de la API de REST, envía una solicitud HTTP POST con tu ID del proyecto. Esta solicitud requiere de una autorización.

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR-PROJECT-ID por el ID del proyecto.
  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza YOUR_BUCKET_NAME por el nombre de tu depósito de Cloud Storage.
  • Reemplaza OUTPUT_FAILURE_FILE_PATH con tu ruta de acceso al archivo que contiene la información de falla.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/compressed/*.gz",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/decompressed",
       "outputFailureFile": "OUTPUT_FAILURE_FILE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Borrado masivo de Cloud Datastore

La plantilla de borrado masivo de Cloud Datastore es una canalización que realiza operaciones de lectura en entidades de Datastore con una consulta de GQL específica y, luego, borra todas las entidades coincidentes en el proyecto de destino seleccionado. De forma opcional, la canalización puede pasar las entidades de Datastore codificadas en JSON a tu UDF de JavaScript, la que puedes usar para filtrar entidades mostrando valores nulos.

Requisitos para esta canalización:

  • Cloud Datastore debe configurarse en el proyecto antes de ejecutar la plantilla.
  • Si se realiza la lectura y el borrado desde instancias separadas de Datastore, la Cuenta de servicio del controlador de Dataflow debe tener permisos para escribir desde una instancia y borrar desde otra.

Parámetros de la plantilla

Parámetro Descripción
datastoreReadGqlQuery Consulta de GQL que especifica las entidades que deben coincidir para la eliminación. Por ejemplo, "SELECT * FROM MyKind".
datastoreReadProjectId ID del proyecto de GCP de la instancia de Cloud Datastore de la que quieres leer entidades (con la consulta de GQL) que se usan para las coincidencias.
datastoreDeleteProjectId ID del proyecto de GCP de la instancia de Cloud Datastore de la que quieres borrar entidades coincidentes. Esto puede ser lo mismo que datastoreReadProjectId si deseas realizar operaciones de lectura y de eliminación dentro de la misma instancia de Cloud Datastore.
datastoreReadNamespace [Opcional] Espacio de nombres de las entidades solicitadas. Configurado como "" para el espacio de nombres predeterminado.
javascriptTextTransformGcsPath [Opcional] Ruta de acceso de Cloud Storage que contiene el código de JavaScript. Por ejemplo, "gs://mybucket/mytransforms/*.js". Si no quieres usar una UDF, deja este campo en blanco.
javascriptTextTransformFunctionName [Opcional] Nombre de la función para llamar. Si esta función muestra un valor no definido o nulo para una entidad de Datastore determinada, esa entidad no se borrará. Si tienes el código de JavaScript "function myTransform(inJson) { …dostuff…}", el nombre de la función será "myTransform". Si no quieres usar una UDF, deja este campo en blanco.

Cómo ejecutar la plantilla de borrado masivo de Cloud Datastore

CONSOLE

Ejecútala desde Google Cloud Platform Console
  1. Ve a la página Cloud Dataflow en GCP Console.
  2. Ir a la página de Cloud Dataflow
  3. Haz clic en Create job from template (Crear un trabajo a partir de una plantilla).
  4. Botón Crear un trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona la plantilla de borrado masivo de Cloud Datastore del menú desplegable Plantilla de Cloud Dataflow.
  6. Ingresa un nombre para el trabajo en el campo Nombre del trabajo. El nombre de tu trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Ejecutar trabajo.

GCLOUD

Ejecútala desde la herramienta de línea de comandos de gcloud

Nota: Para usar la herramienta de línea de comandos de gcloud a fin de ejecutar plantillas, debes tener la versión 138.0.0 del SDK de Cloud o una posterior.

Para ejecutar esta plantilla, necesitarás la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Datastore_to_Datastore_Delete

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza GQL_QUERY con la consulta que usarás para borrar las entidades coincidentes.
  • Reemplaza DATASTORE_READ_AND_DELETE_PROJECT_ID con tu ID del proyecto de la instancia de Datastore. En este ejemplo, se realizan operaciones de lectura y de eliminación desde la misma instancia de Datastore.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_Datastore_Delete \
    --parameters \
datastoreReadGqlQuery="GQL_QUERY",\
datastoreReadProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID,\
datastoreDeleteProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID

API

Ejecuta desde la API de REST

Para ejecutar esta plantilla, necesitarás la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Datastore_to_Datastore_Delete

Para ejecutar esta plantilla con una solicitud de la API de REST, envía una solicitud HTTP POST con tu ID del proyecto. Esta solicitud requiere de una autorización.

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza JOB_NAME por un nombre de trabajo que elijas. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Reemplaza GQL_QUERY con la consulta que usarás para borrar las entidades coincidentes.
  • Reemplaza DATASTORE_READ_AND_DELETE_PROJECT_ID con tu ID del proyecto de la instancia de Datastore. En este ejemplo, se realizan operaciones de lectura y de eliminación desde la misma instancia de Datastore.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_Datastore_Delete
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "GQL_QUERY",
       "datastoreReadProjectId": "READ_PROJECT_ID",
       "datastoreDeleteProjectId": "DELETE_PROJECT_ID"
   },
   "environment": { "zone": "us-central1-f" }
   }
}
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.