Plantillas que proporciona Google

Google ofrece un conjunto de plantillas de código abierto de Cloud Dataflow. Estas son las plantillas disponibles:

WordCount

La plantilla de WordCount es una canalización por lotes que lee texto de Cloud Storage, convierte las líneas de texto en tokens de palabras individuales y cuenta la frecuencia con la que aparece cada palabra. Para obtener más información sobre WordCount, consulta Canalización de ejemplo de WordCount.

Parámetros de la plantilla

Parámetro Descripción
inputFile Ruta de acceso del archivo de entrada de Cloud Storage.
output Ruta de acceso y prefijo del archivo de salida de Cloud Storage.

Ejecuta la plantilla de WordCount

Console

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe WordCount templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/latest/Word_Count

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Word_Count \
    --parameters \
inputFile=gs://dataflow-samples/shakespeare/kinglear.txt,\
output=gs://YOUR_BUCKET_NAME/output/my_output

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/latest/Word_Count

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Word_Count
{
    "jobName": "JOB_NAME",
    "parameters": {
       "inputFile" : "gs://dataflow-samples/shakespeare/kinglear.txt",
       "output": "gs://YOUR_BUCKET_NAME/output/my_output"
    },
    "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable a Cloud Storage AvroFile

La plantilla de Cloud Bigtable a Cloud Storage AvroFile es una canalización que lee datos de la tabla de Cloud Bigtable y los escribe en el depósito de Cloud Storage en formato AvroFile. Puedes usar la plantilla como una solución rápida para mover datos desde Cloud Bigtable hacia Cloud Storage.

Requisitos para esta canalización:

  • La tabla de Cloud Bigtable ya debe existir.
  • El depósito de salida de Cloud Storage ya debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
bigtableProjectId ID del proyecto de GCP en la instancia de Cloud Bigtable desde la que quieres leer datos.
bigtableInstanceId ID de la instancia de Cloud Bigtable que contiene la tabla.
bigtableTableId ID de la tabla de Cloud Bigtable para exportar.
outputDirectory Ruta de acceso de Cloud Storage donde se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
filenamePrefix Prefijo del nombre del archivo AvroFile. Por ejemplo, output-.

Ejecuta la plantilla de Cloud Bigtable a Cloud Storage AvroFile

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona the Cloud Bigtable to Cloud Storage AvroFile templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_AvroFile

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [OUTPUT_DIRECTORY] con la ruta de acceso de Cloud Storage donde se deben escribir los datos. Por ejemplo, gs://mybucket/somefolder.
  • Reemplaza [FILENAME_PREFIX] con el prefijo del nombre del archivo AvroFile. Por ejemplo, output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_AvroFile \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_AvroFile

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.

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [OUTPUT_DIRECTORY] con la ruta de acceso de Cloud Storage donde se deben escribir los datos. Por ejemplo, gs://mybucket/somefolder.
  • Reemplaza [FILENAME_PREFIX] con el prefijo del nombre del archivo AvroFile. Por ejemplo, output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_AvroFile
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable a Cloud Storage SequenceFile

La plantilla de Cloud Bigtable a Cloud Storage SequenceFile es una canalización que lee datos de la tabla de Cloud Bigtable y los escribe en el depósito de Cloud Storage en formato SequenceFile. Puedes usar la plantilla como una solución rápida para mover datos desde Cloud Bigtable hacia Cloud Storage.

Requisitos para esta canalización:

  • La tabla de Cloud Bigtable ya debe existir.
  • El depósito de salida de Cloud Storage ya debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
bigtableProject ID del proyecto de GCP en la instancia de Cloud Bigtable desde la que quieres leer datos.
bigtableInstanceId ID de la instancia de Cloud Bigtable que contiene la tabla.
bigtableTableId ID de la tabla de Cloud Bigtable para exportar.
bigtableAppProfileId ID del perfil de la aplicación de Cloud Bigtable que se usa para exportar. Si no especificas un perfil de aplicación, Cloud Bigtable utiliza el perfil predeterminado de la aplicación de la instancia.
destinationPath Ruta de acceso de Cloud Storage donde se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
filenamePrefix Prefijo del nombre del archivo SequenceFile. Por ejemplo, output-.

Ejecuta la plantilla de Cloud Bigtable a Cloud Storage SequenceFile

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Bigtable to Cloud Storage SequenceFile templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [APPLICATION_PROFILE_ID] con el ID del perfil de la aplicación de Cloud Bigtable que se usa para exportar.
  • Reemplaza [DESTINATION_PATH] con la ruta de acceso de Cloud Storage donde se deben escribir los datos. Por ejemplo, gs://mybucket/somefolder.
  • Reemplaza [FILENAME_PREFIX] con el prefijo del nombre del archivo SequenceFile. Por ejemplo, output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],destinationPath=[DESTINATION_PATH],filenamePrefix=[FILENAME_PREFIX]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

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.

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [APPLICATION_PROFILE_ID] con el ID del perfil de la aplicación de Cloud Bigtable que se usa para exportar.
  • Reemplaza [DESTINATION_PATH] con la ruta de acceso de Cloud Storage donde se deben escribir los datos. Por ejemplo, gs://mybucket/somefolder.
  • Reemplaza [FILENAME_PREFIX] con el prefijo del nombre del archivo SequenceFile. Por ejemplo, output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "destinationPath": "[DESTINATION_PATH]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub a BigQuery

La plantilla de Cloud Pub/Sub a BigQuery es una canalización de transmisión que lee mensajes con formato JSON desde un tema de Cloud Pub/Sub y los escribe en una tabla de BigQuery. Puedes usar la plantilla como una solución rápida para mover datos desde Cloud Pub/Sub hacia BigQuery. La plantilla lee mensajes con formato JSON desde Cloud Pub/Sub y los convierte en elementos de BigQuery.

Requisitos para esta canalización:

  • Los mensajes de Cloud Pub/Sub deben tener formato JSON, como se describe aquí. Por ejemplo, los mensajes con formato {"k1":"v1", "k2":"v2"} se pueden insertar en una tabla de BigQuery con dos columnas, llamadas k1 y k2, con tipo de datos de string.
  • La tabla de salida debe existir antes de que se ejecute la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputTopic Tema de entrada de Cloud Pub/Sub para leer, con el formato projects/<project>/topics/<topic>.
outputTableSpec Ubicación de la tabla de salida de BigQuery, con el formato <my-project>:<my-dataset>.<my-table>

Ejecuta la plantilla de Cloud Pub/Sub a BigQuery

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona the Cloud Pub/Sub to BigQuery template en el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza YOUR_DATASET con tu conjunto de datos de BigQuery y YOUR_TABLE_NAME con el nombre de tu tabla de BigQuery.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/PubSub_to_BigQuery \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputTableSpec=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza YOUR_DATASET con tu conjunto de datos de BigQuery y YOUR_TABLE_NAME con el nombre de tu tabla de BigQuery.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/PubSub_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Java Database Connectivity (JDBC) a BigQuery

La plantilla de JDBC a BigQuery es una canalización por lotes que copia los datos de una tabla de base de datos relacional a una tabla de BigQuery existente. Esta canalización utiliza JDBC para conectarse a las bases de datos relacionales. Puedes usar esta plantilla para copiar datos desde cualquier base de datos relacional con controladores de JDBC disponibles en BigQuery.

Requisitos para esta canalización:

  • Los controladores de JDBC de la base de datos relacional deben estar disponibles.
  • La tabla de BigQuery debe existir antes de que se ejecute la canalización.
  • La tabla de BigQuery debe tener un esquema compatible.
  • Se debe poder acceder a la base de datos relacional desde la subred donde se ejecuta Cloud Dataflow.

Parámetros de la plantilla

Parámetro Descripción
driverJars Lista separada por comas de los archivos jar del controlador. Por ejemplo, gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar.
driverClassName Nombre de la clase del controlador de JDBC. Por ejemplo, com.mysql.jdbc.Driver.
connectionURL String de la URL de la conexión de JDBC. Por ejemplo, jdbc:mysql://some-host:3306/sampledb.
query Consulta para ejecutar en la fuente a fin de extraer datos. Por ejemplo, select * from sampledb.sample_table.
outputTable Ubicación de la tabla de salida de BigQuery, con el formato <my-project>:<my-dataset>.<my-table>.
bigQueryLoadingTemporaryDirectory Directorio temporal para el proceso de carga de BigQuery. Por ejemplo, gs://<my-bucket>/my-files/temp_dir.
connectionProperties [Opcional] String de propiedades para usar en la conexión de JDBC. Por ejemplo, unicode=true&characterEncoding=UTF-8.
username [Opcional] Nombre de usuario para usar en la conexión de JDBC.
password [Opcional] Contraseña para usar en la conexión de JDBC.

Ejecuta la plantilla de JDBC a BigQuery

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe JDBC to BigQuery templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza DRIVER_PATHS con la ruta de acceso de Cloud Storage separada por comas de los controladores de JDBC.
  • Reemplaza DRIVER_CLASS_NAME con el nombre de clase del controlador.
  • Reemplaza JDBC_CONNECTION_URL con la URL de la conexión de JDBC.
  • Reemplaza SOURCE_SQL_QUERY con la consulta de SQL para ejecutar en la base de datos de la fuente.
  • Reemplaza YOUR_DATASET con tu conjunto de datos de BigQuery y YOUR_TABLE_NAME con el nombre de tu tabla de BigQuery.
  • Reemplaza PATH_TO_TEMP_DIR_ON_GCS con la ruta de acceso de Cloud Storage al directorio temporal.
  • Reemplaza CONNECTION_PROPERTIES con las propiedades de la conexión de JDBC si es necesario.
  • Reemplaza CONNECTION_USERNAME con el nombre de usuario de la conexión de JDBC.
  • Reemplaza CONNECTION_PASSWORD con la contraseña de la conexión de JDBC.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza DRIVER_PATHS con la ruta de acceso de Cloud Storage separada por comas de los controladores de JDBC.
  • Reemplaza DRIVER_CLASS_NAME con el nombre de clase del controlador.
  • Reemplaza JDBC_CONNECTION_URL con la URL de la conexión de JDBC.
  • Reemplaza SOURCE_SQL_QUERY con la consulta de SQL para ejecutar en la base de datos de la fuente.
  • Reemplaza YOUR_DATASET con tu conjunto de datos de BigQuery y YOUR_TABLE_NAME con el nombre de tu tabla de BigQuery.
  • Reemplaza PATH_TO_TEMP_DIR_ON_GCS con la ruta de acceso de Cloud Storage al directorio temporal.
  • Reemplaza CONNECTION_PROPERTIES con las propiedades de la conexión de JDBC si es necesario.
  • Reemplaza CONNECTION_USERNAME con el nombre de usuario de la conexión de JDBC.
  • Reemplaza CONNECTION_PASSWORD con la contraseña de la conexión de JDBC.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text a Cloud Pub/Sub (lote)

Esta plantilla crea una canalización por lotes que lee registros desde los archivos de texto almacenados en Cloud Storage y los publica en un tema de Cloud Pub/Sub. Se puede usar para publicar registros en un archivo delimitado por saltos de línea que contiene registros JSON o un archivo CSV en un tema de Cloud Pub/Sub para el procesamiento en tiempo real. Puedes usar esta plantilla para reproducir datos en Cloud Pub/Sub.

Ten en cuenta que esta plantilla no establece una marca de tiempo en los registros individuales. Es por eso que la hora del evento será la misma que la hora de publicación durante la ejecución. Si tu canalización depende de la hora precisa del evento para el procesamiento, no debes usar esta canalización.

Requisitos para esta canalización:

  • Los archivos para leer deben tener el formato JSON delimitado por saltos de línea o CSV. Los registros que abarcan varias líneas en los archivos de origen pueden causar problemas de bajada, ya que cada línea dentro de los archivos se publicará como un mensaje en Cloud Pub/Sub.
  • El tema de Cloud Pub/Sub debe existir antes de la ejecució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/files/*.json.
outputTopic Tema de entrada de Cloud Pub/Sub en el que desea escribir. El nombre debe tener el formato projects/<project-id>/topics/<topic-name>.

Ejecuta la plantilla de Cloud Storage Text a Cloud Pub/Sub (lote)

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage Text to Cloud Pub/Sub (Batch) templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text a Cloud Pub/Sub (transmisión)

Esta plantilla crea una canalización de transmisión que sondea continuamente los archivos de texto nuevos subidos a Cloud Storage, lee cada línea del archivo y publica strings en un tema de Cloud Pub/Sub. Publica registros en un archivo delimitado por saltos de línea que contiene registros JSON o un archivo CSV en un tema de Cloud Pub/Sub para el procesamiento en tiempo real. Puedes usar esta plantilla para reproducir datos en Cloud Pub/Sub.

Actualmente, el intervalo de sondeo es fijo y configurado en 10 segundos. Esta plantilla no establece una marca de tiempo en los registros individuales. Es por eso que la hora del evento será la misma que la hora de publicación durante la ejecución. Si tu canalización depende de la hora precisa del evento para el procesamiento, no deberías usar esta canalización.

Requisitos para esta canalización:

  • Los archivos de entrada deben tener el formato JSON delimitado por saltos de línea o CSV. Los registros que abarcan varias líneas en los archivos de origen pueden causar problemas de bajada, ya que cada línea dentro de los archivos se publicará como un mensaje en Cloud Pub/Sub.
  • El tema de Cloud Pub/Sub debe existir antes de la ejecución.
  • La canalización se ejecuta de forma indefinida, y deberás detenerla de forma manual.

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/files/*.json.
outputTopic Tema de entrada de Cloud Pub/Sub en el que desea escribir. El nombre debe tener el formato projects/<project-id>/topics/<topic-name>.

Ejecuta la plantilla de Cloud Storage Text a Cloud Pub/Sub (transmisión)

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage Text to Cloud Pub/Sub (Stream) templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza [YOUR_BUCKET_NAME] con el nombre del depósito de Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub a Cloud Storage Text

La plantilla de Cloud Pub/Sub a Cloud Storage Text es una canalización de transmisión que lee registros desde Cloud Pub/Sub y los guarda como una serie de archivos de Cloud Storage en formato de texto. Se puede usar más adelante como una forma rápida para guardar datos en Cloud Pub/Sub. De forma predeterminada, la plantilla genera un archivo nuevo cada 5 minutos.

Requisitos para esta canalización:

  • El tema de Cloud Pub/Sub debe existir antes de la ejecución.
  • Los mensajes publicados en el tema deben tener formato de texto.
  • Los mensajes publicados en el tema no deben contener líneas nuevas. Ten en cuenta que el mensaje de Cloud Pub/Sub se guarda como una sola línea en el archivo de salida.

Parámetros de la plantilla

Parámetro Descripción
inputTopic Tema de Cloud Pub/Sub del que se leerá la entrada. El nombre del tema debe tener el formato projects/<project-id>/topics/<topic-name>.
outputDirectory Ruta de acceso y prefijo del nombre de archivo para escribir los archivos de salida. Por ejemplo, gs://bucket-name/path/. El valor debe terminar con una barra.
outputFilenamePrefix Prefijo para colocar en cada archivo con ventanas. Por ejemplo, output-
outputFilenameSuffix Prefijo para colocar en cada archivo con ventanas, generalmente una extensión de archivo como .txt o .csv.
outputShardTemplate La plantilla de fragmentación define la parte dinámica de la parte de cada archivo con ventanas. De forma predeterminada, la canalización utiliza una única fragmentación de salida para el sistema de archivo dentro de cada ventana. Esto significa que todos los datos llegarán a un único archivo por ventana. La outputShardTemplate es la configuración predeterminada de W-P-SS-of-NN en la que W es el período de ventana, P es la información del panel, S es el número de fragmentación y N es la cantidad de fragmentaciones. En el caso de un solo archivo, la parte SS-of-NN de outputShardTemplate será 00-of-01.

Ejecuta la plantilla de Cloud Pub/Sub a Cloud Storage Text

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona the Cloud Pub/Sub to Cloud Storage Text template en el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
outputFilenamePrefix=output-,\
outputFilenameSuffix=.txt

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [YOUR_TOPIC_NAME] con el nombre de tu tema de Cloud Pub/Sub.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "outputFilenamePrefix": "output-",
       "outputFilenameSuffix": ".txt",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub a Cloud Pub/Sub

La plantilla de Cloud Pub/Sub a Cloud Pub/Sub es una canalización de transmisión que lee mensajes desde una suscripción de Cloud Pub/Sub y los escribe en otro tema de Cloud Pub/Sub. La canalización también acepta una clave de atributo de mensaje opcional y un valor que se puede usar para filtrar los mensajes que deben escribirse en el tema de Cloud Pub/Sub. Puedes usar esta plantilla para copiar mensajes desde la suscripción de Cloud Pub/Sub en otro tema de Cloud Pub/Sub con un filtro de mensaje opcional.

Requisitos para esta canalización:

  • La suscripción de Cloud Pub/Sub de origen debe existir antes de la ejecución.
  • El tema de Cloud Pub/Sub de destino debe existir antes de la ejecución.

Parámetros de la plantilla

Parámetro Descripción
inputSubscription Suscripción de Cloud Pub/Sub del que se leerá la entrada. Por ejemplo, projects/<project-id>/subscriptions/<subscription-name>.
outputTopic Tema de Cloud Pub/Sub en la que se escribe el resultado. Por ejemplo, projects/<project-id>/topics/<topic-name>.
filterKey [Opcional] Eventos de filtro basados en la clave de atributo. No se aplicará ningún filtro si no se especifica filterKey.
filterValue [Opcional] Valor del atributo del filtro para usar en caso de que se provea filterKey. Se usa un filterValue nulo de forma predeterminada.

Ejecuta la plantilla de Cloud Pub/Sub a Cloud Pub/Sub

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Pub/Sub to Cloud Pub/Sub templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_SUBSCRIPTION_NAME con el nombre de la subscripción Cloud Pub/Sub.
  • Reemplaza YOUR_TOPIC_NAME con el nombre del tema de Cloud Pub/Sub.
  • Reemplaza FILTER_KEY con el nombre de la clave de atributo con la que filtras mensajes.
  • Reemplaza FILTER_VALUE con el valor del atributo.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub \
    --parameters \
inputSubscription=projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
filterKey=FILTER_KEY,\
filterValue=FILTER_VALUE

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_SUBSCRIPTION_NAME con el nombre de la subscripción Cloud Pub/Sub.
  • Reemplaza YOUR_TOPIC_NAME con el nombre del tema de Cloud Pub/Sub.
  • Reemplaza FILTER_KEY con el nombre de la clave de atributo con la que filtras mensajes.
  • Reemplaza FILTER_VALUE con el valor del atributo.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "filterKey": "FILTER_KEY",
       "filterValue": "FILTER_VALUE"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub a Cloud Storage Avro

La plantilla de Cloud Pub/Sub a Cloud Storage Avro es una canalización de transmisión que lee datos desde un tema de Cloud Pub/Sub y escribe archivos Avro en un depósito especificado de Cloud Storage. Esta canalización admite la duración de ventana opcional que proporciona el usuario y que se utilizará para realizar operaciones de escritura con ventanas.

Requisitos para esta canalización:

  • El tema de entrada de Cloud Pub/Sub debe existir antes de la ejecución de la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputTopic Tema de Cloud Pub/Sub al cual suscribirse para el consumo de mensaje. El nombre del tema debe tener el formato projects/<project-id>/topics/<topic-name>.
outputDirectory Directorio de salida donde se archivarán los archivos Avro de salida. Agrega una / al final. Por ejemplo, gs://example-bucket/example-directory/.
avroTempDirectory Directorio para los archivos Avro temporales. Agrega una / al final. Por ejemplo, gs://example-bucket/example-directory/.
outputFilenamePrefix [Opcional] Prefijo de nombre de archivo de salida para los archivos Avro.
outputFilenameSuffix [Opcional] Sufijo de nombre de archivo de salida para los archivos Avro.
outputShardTemplate [Opcional] Plantilla de fragmentación del archivo de salida. Especificada como secuencias repetidas de letras “S” o “N” (por ejemplo: SSS-NNN). Estas se reemplazan con el número de fragmentación o la cantidad de fragmentaciones respectivamente. El formato de la plantilla predeterminada es “W-P-SS-of-NN” cuando no se especifica este parámetro.
numShards [Opcional] Cantidad máxima de fragmentaciones de salida que se produce con la escritura. La cantidad máxima predeterminada de fragmentaciones es 1.
windowDuration [Opcional] Duración de ventana en la que se escribirán los datos. La configuración predeterminada es de 5 m. Los formatos permitidos son: Ns (para los segundos, por ejemplo, 5 s), Nm (para los minutos, por ejemplo, 12 m) y Nh (para las horas, por ejemplo, 2 h).

Ejecuta la plantilla de Cloud Pub/Sub a Cloud Storage Avro

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Selecciona the Cloud Pub/Sub to Cloud Storage Avro template en el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_TOPIC_NAME con el nombre del tema de Cloud Pub/Sub.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza FILENAME_PREFIX con el prefijo del nombre del archivo de salida preferido.
  • Reemplaza FILENAME_SUFFIX con el sufijo del nombre del archivo de salida preferido.
  • Reemplaza SHARD_TEMPLATE con la plantilla de fragmentación de salida preferida.
  • Reemplaza NUM_SHARDS con la cantidad de fragmentaciones de salida.
  • Reemplaza WINDOW_DURATION con la duración de ventana de salida.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Avro \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
avroTempDirectory=gs://YOUR_BUCKET_NAME/temp/,\
outputFilenamePrefix=FILENAME_PREFIX,\
outputFilenameSuffix=FILENAME_SUFFIX,\
outputShardTemplate=SHARD_TEMPLATE,\
numShards=NUM_SHARDS,\
windowDuration=WINDOW_DURATION

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_TOPIC_NAME con el nombre del tema de Cloud Pub/Sub.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza FILENAME_PREFIX con el prefijo del nombre del archivo de salida preferido.
  • Reemplaza FILENAME_SUFFIX con el sufijo del nombre del archivo de salida preferido.
  • Reemplaza SHARD_TEMPLATE con la plantilla de fragmentación de salida preferida.
  • Reemplaza NUM_SHARDS con la cantidad de fragmentaciones de salida.
  • Reemplaza WINDOW_DURATION con la duración de ventana de salida.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "avroTempDirectory": "gs://YOUR_BUCKET_NAME/temp/",
       "outputFilenamePrefix": "FILENAME_PREFIX",
       "outputFilenameSuffix": "FILENAME_SUFFIX",
       "outputShardTemplate": "SHARD_TEMPLATE",
       "numShards": "NUM_SHARDS",
       "windowDuration": "WINDOW_DURATION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Datastore a Cloud Storage Text

La plantilla de Cloud Datastore a Cloud Storage Text es una canalización por lotes que lee entidades de Cloud Datastore y las escribe en Cloud Storage como archivos de texto. Puedes proporcionar una función para procesar cada entidad como una string JSON. Si no proporcionas esa función, cada línea en el archivo de salida será una entidad serializada JSON.

Requisitos para esta canalización:

Se debe configurar Cloud Datastore en el proyecto antes de la ejecución.

Parámetros de la plantilla

Parámetro Descripción
datastoreReadGqlQuery Consulta de GQL que especifica cuáles son las entidades que se deben tomar. Por ejemplo, SELECT * FROM MyKind.
datastoreReadProjectId ID del proyecto de GCP de la instancia de Cloud Datastore de la que quieres leer datos.
datastoreReadNamespace Espacio de nombres de las entidades solicitadas. Para usar el espacio de nombres predeterminado, deja este parámetro en blanco.
javascriptTextTransformGcsPath Ruta de acceso de Cloud Storage que contiene el código de JavaScript. Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName Nombre de la función de JavaScript para denominar. Por ejemplo, si la función de JavaScript es function myTransform(inJson) { ...dostuff...}, el nombre de la función es myTransform. Si no quieres proporcionar una función, deja este parámetro en blanco.
textWritePrefix Prefijo de la ruta de acceso de Cloud Storage donde se especifican los datos que se deben escribir. Por ejemplo, gs://mybucket/somefolder/.

Ejecuta la plantilla de Cloud Datastore a Cloud Storage Text

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Datastore to Cloud Storage Text templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_DATASTORE_KIND con el tipo de las entidades de Datastore.
  • Reemplaza YOUR_DATASTORE_NAMESPACE con el espacio de nombres de las entidades de Datastore.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM YOUR_DATASTORE_KIND",\
datastoreReadProjectId=YOUR_PROJECT_ID,\
datastoreReadNamespace=YOUR_DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_DATASTORE_KIND con el tipo de las entidades de Datastore.
  • Reemplaza YOUR_DATASTORE_NAMESPACE con el espacio de nombres de las entidades de Datastore.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM YOUR_DATASTORE_KIND"
       "datastoreReadProjectId": "YOUR_PROJECT_ID",
       "datastoreReadNamespace": "YOUR_DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text a BigQuery

La canalización Cloud Storage Text a BigQuery es una canalización por lotes que te permite leer archivos de texto almacenados en Cloud Storage, transformarlos con una Función definida por el usuario de JavaScript (UDF) que proporcionas y enviar el resultado a BigQuery.

IMPORTANTE: Si vuelves a usar una tabla de BigQuery existente, se reemplazará la tabla.

Requisitos para esta canalización:

  • Crea un archivo JSON que describa tu esquema de BigQuery.

    Asegúrate de que exista un arreglo JSON de nivel superior denominado “Esquema de BigQuery” y que su contenido siga el patrón {“name”: ‘COLUMN NAME”, “type”:”DATA TYPE”}. Por ejemplo:

    {
      "BigQuery Schema": [
        {
          "name": "location",
          "type": "STRING"
        },
        {
          "name": "name",
          "type": "STRING"
        },
        {
          "name": "age",
          "type": "STRING"
        },
        {
          "name": "color",
          "type": "STRING"
        },
        {
          "name": "coffee",
          "type": "STRING"
        }
      ]
    }
    
  • Crea un archivo de JavaScript (.js) con tu función UDF que proporciona la lógica para transformar las líneas de texto. Ten en cuenta que tu función debe mostrar una string JSON.

    Por ejemplo, esta función divide cada línea de un archivo CSV y muestra una string JSON después de transformar los valores.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

Parámetros de la plantilla

Parámetro Descripción
javascriptTextTransformFunctionName Nombre de la función que quieres llamar desde el archivo .js.
JSONPath Ruta de acceso gs:// al archivo JSON que define el esquema de BigQuery almacenado en Cloud Storage. Por ejemplo, gs://path/to/my/schema.json.
javascriptTextTransformGcsPath Ruta de acceso gs:// al archivo JavaScript que define tu UDF. Por ejemplo, gs://path/to/my/javascript_function.js.
inputFilePattern Ruta de acceso gs:// al texto en Cloud Storage que quieres procesar. Por ejemplo, gs://path/to/my/text/data.txt.
outputTable Nombre de la tabla de BigQuery que quieres crear para almacenar los datos procesados. Si vuelves a usar una tabla de BigQuery existente, se reemplazará la tabla. Por ejemplo, my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory Directorio temporal para el proceso de carga de BigQuery. Por ejemplo, gs://my-bucket/my-files/temp_dir.

Ejecuta la plantilla de Cloud Storage Text a BigQuery

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage Text to BigQuery templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de tu UDF.
  • Reemplaza PATH_TO_BIGQUERY_SCHEMA_JSON con la ruta de acceso de Cloud Storage al archivo JSON que contiene la definición del esquema.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza PATH_TO_YOUR_TEXT_DATA con la ruta de acceso de Cloud Storage a tu conjunto de datos de texto.
  • Reemplaza BIGQUERY_TABLE con el nombre de la tabla de BigQuery.
  • Reemplaza PATH_TO_TEMP_DIR_ON_GCS con la ruta de acceso de Cloud Storage al directorio temporal.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de tu UDF.
  • Reemplaza PATH_TO_BIGQUERY_SCHEMA_JSON con la ruta de acceso de Cloud Storage al archivo JSON que contiene la definición del esquema.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza PATH_TO_YOUR_TEXT_DATA con la ruta de acceso de Cloud Storage a tu conjunto de datos de texto.
  • Reemplaza BIGQUERY_TABLE con el nombre de la tabla de BigQuery.
  • Reemplaza PATH_TO_TEMP_DIR_ON_GCS con la ruta de acceso de Cloud Storage al directorio temporal.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text a Cloud Datastore

La plantilla de Cloud Storage Text a Cloud Datastore es una canalización por lotes que lee archivos de texto almacenados en Cloud Storage y escribe entidades codificadas en JSON en Cloud Datastore. Cada línea en los archivos de texto de entrada debe tener especificado el formato JSON en https://cloud.google.com/datastore/docs/reference/rest/v1/Entity.

Requisitos para esta canalización:

  • Se debe habilitar Datastore en el proyecto de destino.

Parámetros de la plantilla

Parámetro Descripción
textReadPattern Patrón de la ruta de acceso del archivo de Cloud Storage que especifica la ubicación de tus archivos de datos de texto. Por ejemplo, gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath Patrón de la de acceso de Cloud Storage que contiene el código de JavaScript. Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName Nombre de la función de JavaScript para denominar. Por ejemplo, si la función de JavaScript es function myTransform(inJson) { ...dostuff...}, el nombre de la función es myTransform. Si no quieres proporcionar una función, deja este parámetro en blanco.
datastoreWriteProjectId ID del proyecto de GCP donde se escriben las entidades de Cloud Datastore.
errorWritePath Archivo de salida de registro de errores para escribir las fallas que ocurren durante el procesamiento. Por ejemplo, gs://bucket-name/errors.txt.

Ejecuta la plantilla de Cloud Storage Text a Datastore

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage Text to Datastore templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza PATH_TO_INPUT_TEXT_FILES con el patrón de archivos de entrada en Cloud Storage.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza ERROR_FILE_WRITE_PATH con la ruta de acceso deseada al archivo de error en Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=YOUR_PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza PATH_TO_INPUT_TEXT_FILES con el patrón de archivos de entrada en Cloud Storage.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza ERROR_FILE_WRITE_PATH con la ruta de acceso deseada al archivo de error en Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "YOUR_PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage AvroFile a Cloud Bigtable

La plantilla de Cloud Storage AvroFile a Cloud Bigtable es una canalización que lee datos de AvroFile en el depósito de Cloud Storage y los escribe en una tabla de Cloud Bigtable. Puedes usar la plantilla como una solución rápida para mover datos desde Cloud Storage hacia Cloud Bigtable.

Requisitos para esta canalización:

  • La tabla de Cloud Bigtable debe existir y tener las mismas familias de columnas como se exportó en AvroFile.
  • El AvroFile de entrada debe existir en el depósito de Cloud Storage antes de la ejecución de la canalización.

Parámetros de la plantilla

Parámetro Descripción
bigtableProjectId ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres escribir datos.
bigtableInstanceId ID de la instancia de Cloud Bigtable que contiene la tabla.
bigtableTableId ID de la tabla de Cloud Bigtable para importar.
inputFilePattern Patrón de la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.

Ejecuta la plantilla de Cloud Storage AvroFile a Cloud Bigtable

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage AvroFile to Cloud Bigtable templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_AvroFile_to_Cloud_Bigtable

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [INPUT_FILE_PATTERN] con la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_AvroFile_to_Cloud_Bigtable \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_AvroFile_to_Cloud_Bigtable

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.

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [INPUT_FILE_PATTERN] con la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_AvroFile_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage SequenceFile a Cloud Bigtable

La plantilla de Cloud Storage SequenceFile a Cloud Bigtable es una canalización que lee datos de SequenceFile en un depósito de Cloud Storage y los escribe en una tabla de Cloud Bigtable. Puedes usar la plantilla como una solución rápida para mover datos desde Cloud Storage hacia Cloud Bigtable.

Requisitos para esta canalización:

  • La tabla de Cloud Bigtable ya debe existir.
  • El SequenceFile de entrada debe existir en el depósito de Cloud Storage antes de la ejecución de la canalización.
  • El SequenceFile de entrada debe haberse exportado desde Cloud Bigtable o HBase.

Parámetros de la plantilla

Parámetro Descripción
bigtableProject ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres escribir datos.
bigtableInstanceId ID de la instancia de Cloud Bigtable que contiene la tabla.
bigtableTableId ID de la tabla de Cloud Bigtable para importar.
bigtableAppProfileId ID del perfil de la aplicación de Cloud Bigtable que se usa para importar. Si no especificas un perfil de aplicación, Cloud Bigtable utiliza el perfil predeterminado de la aplicación de la instancia.
sourcePattern Patrón de la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.

Ejecuta la plantilla de Cloud Storage SequenceFile a Cloud Bigtable

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage SequenceFile to Cloud Bigtable templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [APPLICATION_PROFILE_ID] con el ID del perfil de la aplicación de Cloud Bigtable que se usa para exportar.
  • Reemplaza [SOURCE_PATTERN] con la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],sourcePattern=[SOURCE_PATTERN]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

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.

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza [PROJECT_ID] con el ID del proyecto de GCP de la instancia de Cloud Bigtable de la que quieres leer datos.
  • Reemplaza [INSTANCE_ID] con el ID de la instancia de Cloud Bigtable que contiene la tabla.
  • Reemplaza [TABLE_ID] con el ID de la tabla de Cloud Bigtable para exportar.
  • Reemplaza [APPLICATION_PROFILE_ID] con el ID del perfil de la aplicación de Cloud Bigtable que se usa para exportar.
  • Reemplaza [SOURCE_PATTERN] con la ruta de acceso de Cloud Storage donde se encuentran los datos. Por ejemplo, gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "sourcePattern": "[SOURCE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

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 que comprime archivos en Cloud Storage en una ubicación especificada. Esta plantilla puede ser útil cuando necesites comprimir grandes lotes de archivos como parte del proceso de archivo periódico. Los modos de compresión admitidos son BZIP2, DEFLATE, GZIP y ZIP. El resultado de los archivos en la ubicación de destino seguirá el esquema de nombres del nombre del archivo original anexado con la extensión del modo de compresión. Las extensiones anexadas serán .bzip2, .deflate, .gz y .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 ocurre ninguna falla durante la ejecució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 que se ejecute 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 si 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

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Bulk Compress Cloud Storage Files templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del 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

Ejecuta desde la API de REST

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

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del 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 en 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 maneja de forma automática los diferentes modos de compresión durante una única ejecución y determina el modo de descompresión que utilizará en función de la extensión de archivos (.bzip2, .deflate, .gz y .zip).

Requisitos para esta canalización:

  • Los archivos para descomprimir deben tener uno de los siguientes formatos: Bzip2, Deflate, Gzip y Zip.
  • El directorio de salida debe existir antes de que se ejecute 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 si 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

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Bulk Decompress Cloud Storage Files templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del 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 la plantilla en Cloud Storage:

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del 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:

  • Se debe configurar Cloud Datastore en el proyecto antes de la ejecución.
  • 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 borrar. 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 igual a datastoreReadProjectId si quieres leer y borrar 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.

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

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Datastore Bulk Delete templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo). El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea 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. Este ejemplo leerá y borrará 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 la plantilla en Cloud Storage:

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 JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea 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. Este ejemplo leerá y borrará 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" }
   }
}

Cloud Spanner a Cloud Storage Avro

La plantilla de Cloud Spanner a Cloud Storage Avro es una canalización por lotes que exporta bases de datos completas de Cloud Spanner a Cloud Storage en formato Avro. Exportar una base de datos de Cloud Spanner crea una carpeta en el depósito que selecciones. La carpeta contiene estos archivos:

  • Un archivo spanner-export.json
  • Un archivo TableName-manifest.json para cada tabla en la base de datos que exportaste
  • Uno o más archivos TableName.avro-#####-of-#####

Por ejemplo, exportar una base de datos con dos tablas, Singers y Albums, crea el siguiente conjunto de archivos:

  • Albums-manifest.json
  • Albums.avro-00000-of-00002
  • Albums.avro-00001-of-00002
  • Singers-manifest.json
  • Singers.avro-00000-of-00003
  • Singers.avro-00001-of-00003
  • Singers.avro-00002-of-00003
  • spanner-export.json

Requisitos para esta canalización:

  • La base de datos de Cloud Spanner debe existir.
  • El depósito de salida de Cloud Storage debe existir.
  • Además de las funciones de Cloud IAM necesarias para ejecutar los trabajos de Cloud Dataflow, debes tener las funciones de Cloud IAM apropiadas a fin de leer tus datos de Cloud Spanner y escribir en tu depósito de Cloud Storage.

Parámetros de la plantilla

Parámetro Descripción
instanceId ID de instancia de la base de datos de Cloud Spanner que quieres exportar.
databaseId ID de la base de datos de la base de datos de Cloud Spanner que quieres exportar.
outputDir Ruta de acceso de Cloud Storage desde la que quieres exportar los archivos Avro. El trabajo de exportación crea un directorio nuevo en esta ruta de acceso que contiene los archivos exportados.

Ejecuta la plantilla

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Spanner to Cloud Storage Avro templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo).
    • El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para que aparezca en la porción de Cloud Spanner de GCP Console.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [DATAFLOW_REGION] con la región donde quieres ejecutar el trabajo de Cloud Dataflow (como us-central1).
  • Reemplaza [YOUR_INSTANCE_ID] con el ID de la instancia de Cloud Spanner.
  • Reemplaza [YOUR_DATABASE_ID] con el ID de la base de datos de Cloud Spanner.
  • Reemplaza [YOUR_GCS_DIRECTORY] con la ruta de acceso de Cloud Storage desde la que se deben exportar los archivos Avro,.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo.
    • El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para que aparezca en la porción de Cloud Spanner de GCP Console.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],outputDir=[YOUR_GCS_DIRECTORY]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Utiliza esta solicitud de ejemplo como se describe en Usa la API de REST. Esta solicitud requiere autorización, y debes especificar una tempLocation en la que tengas permisos de escritura. En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza [YOUR_PROJECT_ID] con el ID del proyecto.
  • Reemplaza [DATAFLOW_REGION] con la región donde quieres ejecutar el trabajo de Cloud Dataflow (como us-central1).
  • Reemplaza [YOUR_INSTANCE_ID] con el ID de la instancia de Cloud Spanner.
  • Reemplaza [YOUR_DATABASE_ID] con el ID de la base de datos de Cloud Spanner.
  • Reemplaza [YOUR_GCS_DIRECTORY] con la ruta de acceso de Cloud Storage desde la que se deben exportar los archivos Avro,.
  • Reemplaza [JOB_NAME] con un nombre a elección para el trabajo.
    • El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para que aparezca en la porción de Cloud Spanner de GCP Console.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "outputDir": "gs://[YOUR_GCS_DIRECTORY]"
   }
}

Código fuente de la plantilla

Java: SDK 2.x

El código fuente de esta plantilla se encuentra en el repositorio GoogleCloudPlatform/DataflowTemplates de GitHub.

Python

El código fuente de Python no está disponible.

Cloud Spanner a Cloud Storage Text

La plantilla de Cloud Spanner a Cloud Storage Text es una canalización por lotes que lee datos desde una tabla de Cloud Spanner, puede transformar los datos mediante una Función definida por el usuario de JavaScript (UDF) que proporcionas y escribe en Cloud Storage como archivos de texto CSV.

Requisitos para esta canalización:

  • La tabla de entrada Cloud Spanner debe existir antes de la ejecución de la canalización.

Parámetros de la plantilla

Parámetro Descripción
spannerProjectId ID del proyecto de GCP de la base de datos de Cloud Spanner desde la que quieres leer datos.
spannerDatabaseId Base de datos de la tabla solicitada.
spannerInstanceId Instancia de la tabla solicitada.
spannerTable Tabla para exportar.
textWritePrefix Directorio de salida donde se escribirán los archivos de texto de salida. Agrega una / al final. Por ejemplo, gs://mybucket/somefolder/.
javascriptTextTransformGcsPath [Opcional] Ruta de acceso de Cloud Storage que contiene el código de JavaScript. Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName [Opcional] Nombre de la función de JavaScript para llamar. Por ejemplo, si la función de JavaScript es function myTransform(inJson) { ...dostuff...}, el nombre de la función es myTransform. Si no quieres proporcionar una función, deja este parámetro en blanco.

Ejecuta la plantilla de Cloud Spanner a Cloud Storage Text

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Spanner to Cloud Storage Text templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo).
    • El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para que aparezca en la porción de Cloud Spanner de GCP Console.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_DATABASE_ID con el ID de la base de datos de Cloud Spanner.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_INSTANCE_ID con el ID de la instancia de Cloud Spanner.
  • Reemplaza YOUR_TABLE_ID con el ID de la tabla de Cloud Spanner.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=YOUR_PROJECT_ID,\
spannerDatabaseId=YOUR_DATABASE_ID,\
spannerInstanceId=YOUR_INSTANCE_ID,\
spannerTable=YOUR_TABLE_ID,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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 con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_DATABASE_ID con el ID de la base de datos de Cloud Spanner.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_INSTANCE_ID con el ID de la instancia de Cloud Spanner.
  • Reemplaza YOUR_TABLE_ID con el ID de la tabla de Cloud Spanner.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "YOUR_PROJECT_ID",
       "spannerDatabaseId": "YOUR_DATABASE_ID",
       "spannerInstanceId": "YOUR_INSTANCE_ID",
       "spannerTable": "YOUR_TABLE_ID",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro a Cloud Spanner

La plantilla de Cloud Storage Avro a Cloud Spanner es una canalización por lotes que lee archivos Avro desde Cloud Storage y los importa en una base de datos de Cloud Storage.

Requisitos para esta canalización:

  • La base de datos de destino de Cloud Spanner debe existir y estar vacía.
  • Debes tener los permisos de lectura en el depósito de Cloud Storage y los de escritura en la base de datos de destino de Cloud Spanner.
  • La ruta de acceso de entrada de Cloud Storage debe existir y debe incluir un archivo spanner-export.json que contenga una descripción de los archivos JSON para importar.

Parámetros de la plantilla

Parámetro Descripción
instanceId ID de la instancia de la base de datos de Cloud Spanner.
databaseId ID de la base de datos de la base de datos de Cloud Spanner.
inputDir Ruta de acceso de Cloud Storage desde donde se deben exportar los archivos Avro.

Ejecuta la plantilla

CONSOLE

Ejecuta desde Google Cloud Platform Console
  1. Ve a la página de 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 trabajo a partir de una plantilla de Cloud Platform Console
  5. Seleccionathe Cloud Storage Avro to Cloud Spanner templateen el menú desplegable Cloud Dataflow template (Plantilla de Cloud Dataflow).
  6. Ingresa un nombre para el trabajo en el campo Job Name (Nombre del trabajo).
    • El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para que aparezca en la porción de Cloud Spanner de GCP Console.
  7. Ingresa los valores de tus parámetros en los campos de parámetros provistos.
  8. Haz clic en Run Job (Ejecutar trabajo).

GCLOUD

Ejecuta desde la herramienta de línea de comandos de gcloud

Nota: Para ejecutar las plantillas a través de la herramienta de línea de comandos de gcloud, debes tener la versión 138.0.0 o superior del SDK de Cloud.

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_DATABASE_ID con el ID de la base de datos de Cloud Spanner.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_INSTANCE_ID con el ID de la instancia de Cloud Spanner.
  • Reemplaza YOUR_TABLE_ID con el ID de la tabla de Cloud Spanner.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],inputDir=[YOUR_GCS_DIRECTORY]

API

Ejecuta desde la API de REST

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

En este ejemplo, debes reemplazar los siguientes valores:

  • Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
  • Reemplaza JOB_NAME con un nombre a elección para el trabajo. El nombre del trabajo debe coincidir con la expresión regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para que sea válido.
  • Reemplaza YOUR_DATABASE_ID con el ID de la base de datos de Cloud Spanner.
  • Reemplaza YOUR_BUCKET_NAME con el nombre del depósito de Cloud Storage.
  • Reemplaza YOUR_INSTANCE_ID con el ID de la instancia de Cloud Spanner.
  • Reemplaza YOUR_TABLE_ID con el ID de la tabla de Cloud Spanner.
  • Reemplaza PATH_TO_JAVASCRIPT_UDF_FILE con la ruta de acceso de Cloud Storage al archivo .js que contiene el código de JavaScript.
  • Reemplaza YOUR_JAVASCRIPT_FUNCTION con el nombre de la función de JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "inputDir": "gs://[YOUR_GCS_DIRECTORY]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Código fuente de la plantilla

Java: SDK 2.x

El código fuente de esta plantilla se encuentra en el repositorio GoogleCloudPlatform/DataflowTemplates de GitHub.

Python

El código fuente de Python no está disponible.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.