Plantillas por lotes que proporciona Google

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

En esta página, se documentan las plantillas por lotes.

BigQuery a TFRecord de Cloud Storage

La plantilla de datos de BigQuery a Cloud Storage en TFRecord es una canalización que lee datos de una consulta de BigQuery y los escribe en un bucket de Cloud Storage en formato TFRecord. Puedes especificar las divisiones de porcentaje de entrenamiento, prueba y validación. De forma predeterminada, la división es 1 o 100% para el conjunto de entrenamiento y 0 o 0% para los conjuntos de prueba y validación. Cuando configuras la división del conjunto de datos, la suma del entrenamiento, la prueba y la validación debe ser hasta 1 o 100% (por ejemplo, 0.6 + 0.2 + 0.2). Dataflow determina de forma automática la cantidad óptima de fragmentos para cada conjunto de datos de salida.

Requisitos para esta canalización:

  • El conjunto de datos y la tabla de BigQuery deben existir.
  • El bucket de Cloud Storage de salida debe existir antes de la ejecución de la canalización. Los subdirectorios de entrenamiento, prueba y validación no necesitan preexistir y se generan automáticamente.

Parámetros de la plantilla

Parámetro Descripción
readQuery Una consulta de BigQuery SQL que extrae datos de la fuente. Por ejemplo, select * from dataset1.sample_table.
outputDirectory El prefijo de ruta de acceso de Cloud Storage de nivel superior en el que se escriben los archivos TFRecord de entrenamiento, prueba y validación. Por ejemplo, gs://mybucket/output. Los subdirectorios de los archivos de TFRecord para la capacitación, la prueba y la validación resultantes se generan automáticamente a partir de outputDirectory. Por ejemplo: gs://mybucket/output/train
trainingPercentage El porcentaje de datos de consulta asignados al entrenamiento de archivos TFRecord (opcional). El valor predeterminado es 1 o 100%.
testingPercentage El porcentaje de datos de consulta asignados para probar archivos TFRecord (opcional). El valor predeterminado es 0 o 0%.
validationPercentage El porcentaje de datos de consulta asignados a los archivos TFRecord de validación (opcional). El valor predeterminado es 0 o 0%.
outputSuffix El sufijo del archivo para los archivos TFRecord de entrenamiento, prueba y validación que se escriben (opcional). El valor predeterminado es .tfrecord.

Ejecuta la plantilla de archivos TFRecord de BigQuery en Cloud Storage

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery to TFRecords template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

Nota: Para ejecutar plantillas mediante la herramienta de línea de comandos de gcloud, debes tener el SDK de Cloud versión 138.0.0 o posterior.

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_BigQuery_to_GCS_TensorFlow_Records \
    --parameters readQuery=READ_QUERY,outputDirectory=OUTPUT_DIRECTORY,trainingPercentage=TRAINING_PERCENTAGE,testingPercentage=TESTING_PERCENTAGE,validationPercentage=VALIDATION_PERCENTAGE,outputSuffix=OUTPUT_FILENAME_SUFFIX

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • READ_QUERY: Es la consulta de BigQuery que se ejecutará
  • OUTPUT_DIRECTORY: Es el prefijo de la ruta de acceso de Cloud Storage para los conjuntos de datos de salida
  • TRAINING_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de entrenamiento
  • TESTING_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de prueba
  • VALIDATION_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de validación
  • OUTPUT_FILENAME_SUFFIX: Es el sufijo de archivo de registro de salida de TensorFlow preferido.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_BigQuery_to_GCS_TensorFlow_Records
{
   "jobName": "JOB_NAME",
   "parameters": {
       "readQuery":"READ_QUERY",
       "outputDirectory":"OUTPUT_DIRECTORY",
       "trainingPercentage":"TRAINING_PERCENTAGE",
       "testingPercentage":"TESTING_PERCENTAGE",
       "validationPercentage":"VALIDATION_PERCENTAGE",
       "outputSuffix":"OUTPUT_FILENAME_SUFFIX"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • READ_QUERY: Es la consulta de BigQuery que se ejecutará
  • OUTPUT_DIRECTORY: Es el prefijo de la ruta de acceso de Cloud Storage para los conjuntos de datos de salida
  • TRAINING_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de entrenamiento
  • TESTING_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de prueba
  • VALIDATION_PERCENTAGE: Es la división de porcentaje decimal para el conjunto de datos de validación
  • OUTPUT_FILENAME_SUFFIX: Es el sufijo de archivo de registro de salida de TensorFlow preferido.

Exportación de BigQuery a Parquet (a través de la API de Storage)

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

Requisitos para esta canalización:

  • La tabla de entrada de BigQuery debe existir antes de ejecutar la canalización.
  • El bucket de Cloud Storage de salida debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
tableRef La ubicación de la tabla de entrada de BigQuery. Por ejemplo, <my-project>:<my-dataset>.<my-table>.
bucket La carpeta de Cloud Storage en la que se escriben los archivos de Parquet. Por ejemplo, gs://mybucket/exports.
numShards La cantidad de fragmentos de archivos de salida (opcional). El valor predeterminado es 1.
fields Una lista de campos separados por comas para seleccionar de la tabla de BigQuery de entrada (opcional).

Ejecuta la plantilla de BigQuery a Parquet de Cloud Storage

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery export to Parquet (via Storage API) template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet
gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/BigQuery_to_Parquet \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BIGQUERY_TABLE: Es el nombre de la tabla de BigQuery.
  • OUTPUT_DIRECTORY: Es tu carpeta de Cloud Storage para archivos de salida
  • NUM_SHARDS: Es la cantidad deseada de fragmentos de archivo de salida
  • FIELDS: Es la lista de campos separados por comas para seleccionar de la tabla de entrada de BigQuery
  • LOCATION: Es la región de ejecución, por ejemplo, us-central1

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "tableRef": "BIGQUERY_TABLE",
          "bucket": "OUTPUT_DIRECTORY",
          "numShards": "NUM_SHARDS",
          "fields": "FIELDS"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/BigQuery_to_Parquet",
   }
}

Reemplaza los siguientes valores:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BIGQUERY_TABLE: Es el nombre de la tabla de BigQuery.
  • OUTPUT_DIRECTORY: Es tu carpeta de Cloud Storage para archivos de salida
  • NUM_SHARDS: Es la cantidad deseada de fragmentos de archivo de salida
  • FIELDS: Es la lista de campos separados por comas para seleccionar de la tabla de entrada de BigQuery
  • LOCATION: Es la región de ejecución, por ejemplo, us-central1

Bigtable a Avro en Cloud Storage

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

Requisitos para esta canalización:

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

Parámetros de la plantilla

Parámetro Descripción
bigtableProjectId El ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
bigtableInstanceId El ID de la instancia de Bigtable que contiene la tabla.
bigtableTableId El ID de la tabla de Bigtable que se exportará.
outputDirectory La ruta de Cloud Storage en la que se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
filenamePrefix El prefijo del nombre del archivo Avro. Por ejemplo, output-.

Ejecuta la plantilla de Bigtable a Cloud Storage en archivos Avro

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to Avro Files on Cloud Storage template .
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro \
    --parameters bigtableProjectId=PROJECT_ID,bigtableInstanceId=INSTANCE_ID,bigtableTableId=TABLE_ID,outputDirectory=OUTPUT_DIRECTORY,filenamePrefix=FILENAME_PREFIX

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • OUTPUT_DIRECTORY: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo Avro, por ejemplo, output-

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • OUTPUT_DIRECTORY: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo Avro, por ejemplo, output-

Bigtable a Parquet en Cloud Storage

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

Requisitos para esta canalización:

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

Parámetros de la plantilla

Parámetro Descripción
bigtableProjectId El ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
bigtableInstanceId El ID de la instancia de Bigtable que contiene la tabla.
bigtableTableId El ID de la tabla de Bigtable que se exportará.
outputDirectory La ruta de Cloud Storage en la que se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
filenamePrefix El prefijo del nombre del archivo Parquet. Por ejemplo, output-.
numShards La cantidad de fragmentos del archivo de salida. Por ejemplo: 2.

Ejecuta la plantilla de Bigtable a Cloud Storage en archivos Parquet

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to Parquet Files on Cloud Storage template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet \
    --parameters bigtableProjectId=PROJECT_ID,bigtableInstanceId=INSTANCE_ID,bigtableTableId=TABLE_ID,outputDirectory=OUTPUT_DIRECTORY,filenamePrefix=FILENAME_PREFIX,numShards=NUM_SHARDS

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • OUTPUT_DIRECTORY: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo Parquet, por ejemplo, output-
  • NUM_SHARDS: Es la cantidad de archivos de Parquet que se mostrarán, por ejemplo, 1

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet

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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
       "numShards": "NUM_SHARDS"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • OUTPUT_DIRECTORY: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo Parquet, por ejemplo, output-
  • NUM_SHARDS: Es la cantidad de archivos de Parquet que se mostrarán, por ejemplo, 1

Bigtable a SequenceFile en Cloud Storage

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

Requisitos para esta canalización:

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

Parámetros de la plantilla

Parámetro Descripción
bigtableProject El ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
bigtableInstanceId El ID de la instancia de Bigtable que contiene la tabla.
bigtableTableId El ID de la tabla de Bigtable que se exportará.
bigtableAppProfileId El ID del perfil de la aplicación de Bigtable que se usará para la exportación. Si no especificas un perfil de aplicación, Bigtable usa el perfil predeterminado de aplicación de la instancia.
destinationPath La ruta de Cloud Storage en la que se escriben los datos. Por ejemplo, gs://mybucket/somefolder.
filenamePrefix El prefijo del nombre del archivo SequenceFile. Por ejemplo, output-.

Ejecuta la plantilla de Bigtable a Cloud Storage en SequenceFile

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile
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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • APPLICATION_PROFILE_ID: Es el ID del perfil de la aplicación de Bigtable que se usará para la exportación.
  • DESTINATION_PATH: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo SequenceFile, por ejemplo, output-

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/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" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • APPLICATION_PROFILE_ID: Es el ID del perfil de la aplicación de Bigtable que se usará para la exportación.
  • DESTINATION_PATH: La ruta de Cloud Storage en la que se escriben los datos, por ejemplo, gs://mybucket/somefolder
  • FILENAME_PREFIX: Es el prefijo del nombre del archivo SequenceFile, por ejemplo, output-

Datastore a Cloud Storage en archivos de texto

La plantilla de Datastore a Cloud Storage en archivos de texto es una canalización por lotes que lee entidades de 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:

Datastore se debe configurar en el proyecto antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
datastoreReadGqlQuery Consulta de GQL que especifica qué entidades tomar. Por ejemplo, SELECT * FROM MyKind.
datastoreReadProjectId El ID del proyecto de Google Cloud de la instancia de Datastore del que deseas leer los datos.
datastoreReadNamespace El espacio de nombres de las entidades solicitadas. Para usar el espacio de nombres predeterminado, deja este parámetro en blanco.
javascriptTextTransformGcsPath La ruta de acceso de Cloud Storage que contiene el código JavaScript. Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName El nombre de la función de JavaScript que se llamará. Por ejemplo, si tu 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 escribieron. Por ejemplo, gs://mybucket/somefolder/.

Ejecuta la plantilla de texto de Datastore en Cloud Storage

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Datastore to Text Files on Cloud Storage template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\
datastoreReadProjectId=PROJECT_ID,\
datastoreReadNamespace=DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://BUCKET_NAME/output/

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BUCKET_NAME: Es el nombre del bucket de Cloud Storage.
  • DATASTORE_KIND: Es el tipo de entidades de Datastore
  • DATASTORE_NAMESPACE: Es el espacio de nombres de tus entidades de Datastore
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND"
       "datastoreReadProjectId": "PROJECT_ID",
       "datastoreReadNamespace": "DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BUCKET_NAME: Es el nombre del bucket de Cloud Storage.
  • DATASTORE_KIND: Es el tipo de entidades de Datastore
  • DATASTORE_NAMESPACE: Es el espacio de nombres de tus entidades de Datastore
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.

Cloud Spanner a Cloud Storage Avro

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

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

Por ejemplo, cuando se exporta una base de datos con dos tablas, Singers y Albums, se 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 bucket de salida de Cloud Storage debe existir.
  • Además de las funciones de IAM necesarias en la ejecución de trabajos de Dataflow, también debes tener las funciones de IAM adecuadas para leer los datos de Cloud Spanner y escribir en el bucket 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.
snapshotTime La marca de tiempo que corresponde a la versión de la base de datos de Cloud Spanner que deseas leer (opcional). La marca de tiempo se debe especificar según el formato RFC 3339 UTC “Zulu”. Por ejemplo, 1990-12-31T23:59:60Z. La marca de tiempo debe ser del pasado y se aplica la Máxima marca de tiempo de inactividad.
spannerProjectId El ID del proyecto de Google Cloud de la base de datos de Cloud Spanner desde el que quieres leer datos (opcional).

Ejecuta la plantilla de Cloud Spanner a archivos Avro en Cloud Storage

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.

    Para que el trabajo aparezca en la página Instancias de Spanner de Cloud Console, el nombre del trabajo debe coincidir con el siguiente formato:

    cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Reemplaza lo siguiente:

    • SPANNER_INSTANCE_ID: El ID de tu instancia de Spanner
    • SPANNER_DATABASE_NAME: El nombre de tu base de datos de Spanner
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Spanner to Avro Files on Cloud Storage template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro
gcloud dataflow jobs run JOB_NAME \
    --gcs-location='gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro' \
    --region=DATAFLOW_REGION \
    --parameters='instanceId=INSTANCE_ID,databaseId=DATABASE_ID,outputDir=GCS_DIRECTORY'

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre del trabajo que elijas
  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1)
  • GCS_STAGING_LOCATION: Es la ubicación en la que se deben escribir archivos temporales. Por ejemplo, gs://mybucket/temp.
  • INSTANCE_ID: Es el ID de instancia de Cloud Spanner
  • DATABASE_ID: Es el ID de la base de datos de Cloud Spanner
  • GCS_DIRECTORY: Es la ruta de Cloud Storage que los archivos Avro se exportan a .

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "outputDir": "gs://GCS_DIRECTORY"
   }
}

Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST. Esta solicitud requiere autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1).
  • INSTANCE_ID: Es el ID de instancia de Cloud Spanner.
  • DATABASE_ID: Es el ID de la base de datos de Cloud Spanner
  • GCS_DIRECTORY: Es la ruta de Cloud Storage que los archivos Avro se exportan a .
  • JOB_NAME: Es el nombre del trabajo que elijas.
    • El nombre del trabajo debe coincidir con el formato cloud-spanner-export-INSTANCE_ID-DATABASE_ID para aparecer en la parte de Cloud Spanner de Cloud Console.

Cloud Spanner a Cloud Storage Text

La plantilla de Cloud Spanner a Cloud Storage en archivos de texto 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 de Spanner debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
spannerProjectId El ID del proyecto de Google Cloud de la base de datos de Cloud Spanner desde el que quieres leer datos.
spannerDatabaseId El ID de la base de datos de la tabla solicitada.
spannerInstanceId El ID de la instancia solicitada.
spannerTable La tabla de la que se leerán los datos.
textWritePrefix El directorio donde se escriben los archivos de texto de salida. Agrega una / al final. Por ejemplo, gs://mybucket/somefolder/.
javascriptTextTransformGcsPath La ruta de acceso de Cloud Storage que contiene el código JavaScript (opcional). Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName El nombre de la función de JavaScript que se llamará (opcional). Por ejemplo, si tu 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

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Spanner to Text Files on Cloud Storage template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=PROJECT_ID,\
spannerDatabaseId=DATABASE_ID,\
spannerInstanceId=INSTANCE_ID,\
spannerTable=TABLE_ID,\
textWritePrefix=gs://BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • DATABASE_ID: Es el ID de la base de datos de Spanner.
  • BUCKET_NAME: Es el nombre del bucket de Cloud Storage.
  • INSTANCE_ID: Es el ID de la instancia de Spanner.
  • TABLE_ID: Es el ID de la tabla de Spanner.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "PROJECT_ID",
       "spannerDatabaseId": "DATABASE_ID",
       "spannerInstanceId": "INSTANCE_ID",
       "spannerTable": "TABLE_ID",
       "textWritePrefix": "gs://BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • DATABASE_ID: Es el ID de la base de datos de Spanner.
  • BUCKET_NAME: Es el nombre del bucket de Cloud Storage.
  • INSTANCE_ID: Es el ID de la instancia de Spanner.
  • TABLE_ID: Es el ID de la tabla de Spanner.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.

Avro de Cloud Storage a Bigtable

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

Requisitos para esta canalización:

  • La tabla de Bigtable debe existir y tener las mismas familias de columnas que se exportaron en los archivos Avro.
  • Los archivos Avro de entrada deben existir en un bucket de Cloud Storage antes de ejecutar la canalización.
  • Bigtable espera un esquema específico de los archivos Avro de entrada.

Parámetros de la plantilla

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

Ejecuta la plantilla de Avro de Cloud Storage a Bigtable

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Avro Files on Cloud Storage to Cloud Bigtable template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable \
    --parameters bigtableProjectId=PROJECT_ID,bigtableInstanceId=INSTANCE_ID,bigtableTableId=TABLE_ID,inputFilePattern=INPUT_FILE_PATTERN

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • INPUT_FILE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Avro_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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_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" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • INPUT_FILE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

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 exportados desde Cloud Spanner almacenados en Cloud Storage y los importa a una base de datos de Cloud Spanner.

Requisitos para esta canalización:

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

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 Cloud Spanner.
inputDir Ruta de acceso de Cloud Storage desde la que se importan los archivos Avro.

Ejecuta la plantilla de Cloud Storage Avro a Cloud Spanner

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.

    Para que el trabajo aparezca en la página Instancias de Spanner de Cloud Console, el nombre del trabajo debe coincidir con el siguiente formato:

    cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Reemplaza lo siguiente:

    • SPANNER_INSTANCE_ID: El ID de tu instancia de Spanner
    • SPANNER_DATABASE_NAME: El nombre de tu base de datos de Spanner
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Avro Files on Cloud Storage to Cloud Spanner template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner
gcloud dataflow jobs run JOB_NAME \
    --gcs-location='gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner' \
    --region=DATAFLOW_REGION \
    --staging-location=GCS_STAGING_LOCATION \
    --parameters='instanceId=INSTANCE_ID,databaseId=DATABASE_ID,inputDir=GCS_DIRECTORY'

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto (solo API).
  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1).
  • JOB_NAME: Es el nombre del trabajo que elijas
  • INSTANCE_ID: Es el ID de la instancia de Spanner que contiene la base de datos.
  • DATABASE_ID: Es el ID de la base de datos de Spanner a la cual importar.
  • GCS_STAGING_LOCATION: Es la ruta para escribir archivos temporales, por ejemplo, gs://mybucket/temp (solo gcloud).
  • GCS_DIRECTORY: Es la ruta de Cloud Storage desde la que se importan los archivos Avro, por ejemplo, gs://mybucket/somefolder.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Esta solicitud requiere autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "inputDir": "gs://GCS_DIRECTORY"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto (solo API).
  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1).
  • JOB_NAME: Es el nombre del trabajo que elijas
  • INSTANCE_ID: Es el ID de la instancia de Spanner que contiene la base de datos.
  • DATABASE_ID: Es el ID de la base de datos de Spanner a la cual importar.
  • GCS_STAGING_LOCATION: Es la ruta para escribir archivos temporales, por ejemplo, gs://mybucket/temp (solo gcloud).
  • GCS_DIRECTORY: Es la ruta de Cloud Storage desde la que se importan los archivos Avro, por ejemplo, gs://mybucket/somefolder.

Parquet de Cloud Storage a Bigtable

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

Requisitos para esta canalización:

  • La tabla de Bigtable debe existir y tener las mismas familias de columnas que se exportaron en los archivos Parquet.
  • Los archivos de Parquet de entrada deben existir en un bucket de Cloud Storage antes de ejecutar la canalización.
  • Bigtable espera un esquema específico de los archivos Parquet de entrada.

Parámetros de la plantilla

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

Ejecuta la plantilla de Parquet de Cloud Storage a Bigtable

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Parquet_to_Cloud_Bigtable \
    --parameters bigtableProjectId=PROJECT_ID,bigtableInstanceId=INSTANCE_ID,bigtableTableId=TABLE_ID,inputFilePattern=INPUT_FILE_PATTERN

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • INPUT_FILE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Parquet_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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Parquet_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" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • INPUT_FILE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

SequenceFile de Cloud Storage a Bigtable

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

Requisitos para esta canalización:

  • La tabla de Bigtable debe existir.
  • Los SequenceFiles de entrada deben existir en un bucket de Cloud Storage antes de ejecutar la canalización.
  • Los archivos SequenceFile de entrada deben haberse exportado desde Bigtable o HBase.

Parámetros de la plantilla

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

Ejecuta la plantilla de Cloud Storage SequenceFile a Bigtable

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable
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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • APPLICATION_PROFILE_ID: Es el ID del perfil de la aplicación de Bigtable que se usará para la exportación.
  • SOURCE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

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 autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/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" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PROJECT_ID: Es el ID del proyecto de Google Cloud de la instancia de Bigtable del que deseas leer los datos.
  • INSTANCE_ID: Es el ID de la instancia de Bigtable que contiene la tabla.
  • TABLE_ID: Es el ID de la tabla de Bigtable que se exportará.
  • APPLICATION_PROFILE_ID: Es el ID del perfil de la aplicación de Bigtable que se usará para la exportación.
  • SOURCE_PATTERN: Es el patrón de ruta de acceso de Cloud Storage en la que se encuentran los datos, por ejemplo, gs://mybucket/somefolder/prefix*.

Cloud Storage Text a BigQuery

La canalización de 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 adjuntar el resultado en una tabla de BigQuery.

Requisitos para esta canalización:

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

    Asegúrate de que haya un arreglo JSON de nivel superior titulado BigQuery Schema 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 JavaScript (.js) con tu función UDF que proporciona la lógica para transformar las líneas de texto. La 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 a la que deseas llamar desde el archivo .js.
JSONPath La ruta gs:// al archivo JSON que define el esquema de BigQuery, almacenado en Cloud Storage. Por ejemplo, gs://path/to/my/schema.json.
javascriptTextTransformGcsPath La ruta gs:// al archivo JavaScript que define tu UDF. Por ejemplo, gs://path/to/my/javascript_function.js.
inputFilePattern La ruta gs:// al texto en Cloud Storage que deseas 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, los datos se agregan a la tabla de destino. Por ejemplo, my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory El 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

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to BigQuery (Batch) template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • JAVASCRIPT_FUNCTION: Es el nombre de la UDF.
  • PATH_TO_BIGQUERY_SCHEMA_JSON: Es la ruta de acceso de Cloud Storage al archivo JSON que contiene la definición de esquema.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • PATH_TO_TEXT_DATA: Es la ruta de acceso de Cloud Storage al conjunto de datos de texto.
  • BIGQUERY_TABLE: Es el nombre de la tabla de BigQuery.
  • PATH_TO_TEMP_DIR_ON_GCS: Es la ruta de acceso de Cloud Storage al directorio temporal.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • JAVASCRIPT_FUNCTION: Es el nombre de la UDF.
  • PATH_TO_BIGQUERY_SCHEMA_JSON: Es la ruta de acceso de Cloud Storage al archivo JSON que contiene la definición de esquema.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • PATH_TO_TEXT_DATA: Es la ruta de acceso de Cloud Storage al conjunto de datos de texto.
  • BIGQUERY_TABLE: Es el nombre de la tabla de BigQuery.
  • PATH_TO_TEMP_DIR_ON_GCS: Es la ruta de acceso de Cloud Storage al directorio temporal.

Texto de Cloud Storage a Datastore

La plantilla texto de Cloud Storage a Datastore es una canalización por lotes que lee desde archivos de texto almacenados en Cloud Storage y escribe entidades codificadas en JSON en Datastore. Cada línea en los archivos de texto de entrada debe estar en el formato JSON especificado.

Requisitos para esta canalización:

  • Se debe habilitar Datastore en el proyecto de destino.

Parámetros de la plantilla

Parámetro Descripción
textReadPattern El patrón de la ruta de acceso de Cloud Storage que especifica la ubicación de tus archivos de datos de texto. Por ejemplo, gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath El patrón de la ruta de acceso de Cloud Storage que contiene el código JavaScript. Por ejemplo, gs://mybucket/mytransforms/*.js. Si no quieres proporcionar una función, deja este parámetro en blanco.
javascriptTextTransformFunctionName El nombre de la función de JavaScript a la que se llamará. Por ejemplo, si tu 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 El ID del proyecto de Google Cloud en el que se escriben las entidades de Datastore.
errorWritePath El 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 texto Cloud Storage a Datastore

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Datastore template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore
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=JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PATH_TO_INPUT_TEXT_FILES: Es el patrón de archivos de entrada en Cloud Storage.
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • ERROR_FILE_WRITE_PATH: Es la ruta de acceso deseada al archivo de error en Cloud Storage.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

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

POST https://dataflow.googleapis.com/v1b3/projects/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": "JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • PATH_TO_INPUT_TEXT_FILES: Es el patrón de archivos de entrada en Cloud Storage.
  • JAVASCRIPT_FUNCTION: Es el nombre de la función de JavaScript.
  • PATH_TO_JAVASCRIPT_UDF_FILE: Es la ruta de acceso de Cloud Storage al archivo .js que contiene el código JavaScript.
  • ERROR_FILE_WRITE_PATH: Es la ruta de acceso deseada al archivo de error en Cloud Storage.

Texto de Cloud Storage a Pub/Sub (Batch)

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

Esta plantilla no establece una marca de tiempo en los registros individuales. La hora del evento es igual a la 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 o CSV delimitado por saltos de línea. Los registros que abarcan varias líneas en los archivos de origen pueden causar problemas en sentido descendente, ya que cada línea de los archivos se publicará como un mensaje para Pub/Sub.
  • El tema de Pub/Sub debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputFilePattern El patrón del archivo de entrada para leer. Por ejemplo, gs://bucket-name/files/*.json.
outputTopic El tema de entrada de Pub/Sub en el que se desea escribir. El nombre debe tener el formato de projects/<project-id>/topics/<topic-name>.

Ejecuta la plantilla de texto de Cloud Storage en Pub/Sub (Batch)

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Pub/Sub (Batch) template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/files/*.json,\
outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • TOPIC_NAME: Es el nombre del tema de Pub/Sub.
  • BUCKET_NAME: Es el nombre de tu bucket de Cloud Storage.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/files/*.json",
       "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • TOPIC_NAME: Es el nombre del tema de Pub/Sub.
  • BUCKET_NAME: Es el nombre de tu bucket de Cloud Storage.

Texto de Cloud Storage a Cloud Spanner

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

Requisitos para esta canalización:

  • La base de datos y la tabla de destino de Cloud Spanner deben existir.
  • Debes tener permisos de lectura para el bucket de Cloud Storage y permisos de escritura para la base de datos de destino de Cloud Spanner.
  • La ruta de entrada de Cloud Storage que contiene los archivos CSV debe existir.
  • Debes crear un archivo de manifiesto de importación que contenga una descripción JSON de los archivos CSV y debes almacenar ese archivo de manifiesto en Cloud Storage.
  • Si la base de datos de destino de Cloud Spanner ya tiene un esquema, las columnas especificadas en el archivo de manifiesto deben tener los mismos tipos de datos que sus columnas correspondientes en el esquema de la base de datos de destino.
  • El archivo de manifiesto, codificado en ASCII o UTF-8, debe coincidir con el siguiente formato:

  • Los archivos de texto que se importarán deben estar en formato CSV, con codificación ASCII o UTF-8. Recomendamos no usar la marca de orden de bytes (BOM) en archivos con codificación UTF-8.
  • Los datos deben coincidir con uno de los siguientes tipos:
    • INT64
    • FLOAT64
    • BOOL
    • STRING
    • DATE
    • TIMESTAMP

Parámetros de la plantilla

Parámetro Descripción
instanceId ID de la instancia de la base de datos de Cloud Spanner.
databaseId El ID de la base de datos de Cloud Spanner.
importManifest La ruta de Cloud Storage al archivo de manifiesto de importación.
columnDelimiter El delimitador de columnas que usa el archivo de origen. El valor predeterminado es ,.
fieldQualifier El carácter que debe rodear a cualquier valor en el archivo de origen que contiene el columnDelimiter. El valor predeterminado es ".
trailingDelimiter Especifica si las líneas en los archivos de origen tienen delimitadores finales (es decir, si el carácter columnDelimiter aparece al final de cada línea, después del último valor de columna). El valor predeterminado es true.
escape El carácter de escape que usa el archivo de origen. De forma predeterminada, este parámetro no está configurado y la plantilla no usa el carácter de escape.
nullString La string que representa un valor NULL. De forma predeterminada, este parámetro no está configurado y la plantilla no usa la string nula.
dateFormat El formato que se usa para analizar las columnas de fecha. De forma predeterminada, la canalización intenta analizar las columnas de fecha como yyyy-M-d[' 00:00:00'], por ejemplo, como 2019-01-31 o 2019-1-1 00:00:00. Si tu formato de fecha es diferente, especifica el formato mediante los patrones java.time.format.DateTimeFormatter.
timestampFormat Formato que se usa para analizar las columnas de marca de tiempo. Si la marca de tiempo es un número entero largo, se analiza como tiempo de época Unix. De lo contrario, se analiza como una string con el formato java.time.format.DateTimeFormatter.ISO_INSTANT. En otros casos, especifica tu propia string de patrón, por ejemplo, con MMM dd yyyy HH:mm:ss.SSSVV para marcas de tiempo en el formato de "Jan 21 1998 01:02:03.456+08:00"..

Si necesitas usar formatos personalizados de fecha o marca de tiempo, asegúrate de que sean patrones java.time.format.DateTimeFormatter válidos. En la siguiente tabla, se muestran ejemplos adicionales de formatos personalizados para columnas de fecha y marca de tiempo:

Tipo Valor de entrada Formato Observación
DATE 2011-3-31 De forma predeterminada, la plantilla puede analizar este formato. No necesitas especificar el parámetro dateFormat.
DATE 2011-3-31 00:00:00 De forma predeterminada, la plantilla puede analizar este formato. No necesitas especificar el formato. Si lo deseas, puedes usar yyyy-M-d' 00:00:00'.
DATE 01 abr, 18 dd MMM, yy
DATE Miércoles, abril 3, 2019 D.C. EEEE, LLLL d, yyyy G
TIMESTAMP 2019-01-02T11:22:33Z
2019-01-02T11:22:33.123Z
2019-01-02T11:22:33.12356789Z
El formato predeterminado ISO_INSTANT puede analizar este tipo de marca de tiempo. No es necesario que proporciones el parámetro timestampFormat.
TIMESTAMP 1568402363 De forma predeterminada, la plantilla puede analizar este tipo de marca de tiempo y tratarla como tiempo de época Unix.
TIMESTAMP Mar, 3 jun 2008 11:05:30 GMT EEE, d MMM yyyy HH:mm:ss VV
TIMESTAMP 2018/12/31 110530.123PST yyyy/MM/dd HHmmss.SSSz
TIMESTAMP 2019-01-02T11:22:33Z o 2019-01-02T11:22:33.123Z yyyy-MM-dd'T'HH:mm:ss[.SSS]VV Si la columna de entrada es una combinación de 2019-01-02T11:22:33Z y 2019-01-02T11:22:33.123Z, el formato predeterminado puede analizar este tipo de marca de tiempo. No necesitas proporcionar tu propio parámetro de formato. Puedes usar yyyy-MM-dd'T'HH:mm:ss[.SSS]VV para manejar ambos casos. No puedes usar yyyy-MM-dd'T'HH:mm:ss[.SSS]'Z', ya que el sufijo “Z” debe analizarse como un ID de zona horaria, no como un literal de caracteres. De forma interna, la columna de marca de tiempo se convierte en java.time.Instant. Por lo tanto, debe especificarse en UTC o tener información de zona horaria asociada. La fecha y hora local, como 2019-01-02 11:22:33, no se puede analizar como una java.time.Instant válida.

Ejecuta la plantilla de los archivos de texto en Cloud Storage a Cloud Spanner

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Cloud Spanner template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

Ejecutar con la herramienta de línea de comandos de gcloud

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner
gcloud dataflow jobs run JOB_NAME \
    --gcs-location='gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner' \
    --region=DATAFLOW_REGION \
    --parameters='instanceId=INSTANCE_ID,databaseId=DATABASE_ID,importManifest=GCS_PATH_TO_IMPORT_MANIFEST'

Reemplaza lo siguiente:

  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1).
  • INSTANCE_ID: Es el ID de instancia de Cloud Spanner.
  • DATABASE_ID: Es el ID de la base de datos de Cloud Spanner.
  • GCS_PATH_TO_IMPORT_MANIFEST: Es la ruta de Cloud Storage al archivo de manifiesto de importación.
  • JOB_NAME: Es el nombre del trabajo que elijas

API

Ejecuta mediante la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

Esta solicitud requiere autorización y debes especificar una tempLocation en la que tienes permisos de escritura. Usa esta solicitud de ejemplo como se documenta en la página sobre cómo usar la API de REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "importManifest": "GCS_PATH_TO_IMPORT_MANIFEST"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • DATAFLOW_REGION: Es la región en la que deseas que se ejecute el trabajo de Dataflow (como us-central1).
  • INSTANCE_ID: Es el ID de instancia de Cloud Spanner.
  • DATABASE_ID: Es el ID de la base de datos de Cloud Spanner.
  • GCS_PATH_TO_IMPORT_MANIFEST: Es la ruta de Cloud Storage al archivo de manifiesto de importación.
  • JOB_NAME: Es el nombre del trabajo que elijas

Conectividad a bases de datos de Java (JDBC) para 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. Para obtener una capa adicional de protección, también puedes pasar una clave de Cloud KMS junto con un nombre de usuario, contraseña y parámetros de string de conexión codificados en Base64 encriptados con la clave de Cloud KMS. Consulta el extremo de encriptación de la API de Cloud KMS para obtener más información sobre cómo encriptar tus parámetros de nombre de usuario, contraseña y string de conexión.

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 ejecutar la canalización.
  • La tabla de BigQuery debe tener un esquema compatible.
  • La base de datos relacional debe ser accesible desde la subred en la que se ejecuta 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 El nombre de la clase del controlador de JDBC. Por ejemplo, com.mysql.jdbc.Driver.
connectionURL La string de la URL de la conexión de JDBC. Por ejemplo, jdbc:mysql://some-host:3306/sampledb. Se puede pasar como una string codificada en Base64 y, luego, encriptada con una clave de Cloud KMS.
query La consulta que se ejecutará en la fuente para extraer los datos. Por ejemplo, select * from sampledb.sample_table.
outputTable Ubicación de la tabla de resultados de BigQuery, en el formato de <my-project>:<my-dataset>.<my-table>.
bigQueryLoadingTemporaryDirectory El directorio temporal para el proceso de carga de BigQuery. Por ejemplo, gs://<my-bucket>/my-files/temp_dir.
connectionProperties La string de propiedades para usar en la conexión de JDBC (opcional). Por ejemplo, unicode=true&characterEncoding=UTF-8.
username El nombre de usuario para usar en la conexión de JDBC (opcional). Se puede pasar como una string codificada en Base64 encriptada con una clave de Cloud KMS.
password La contraseña para usar en la conexión de JDBC (opcional). Se puede pasar como una string codificada en Base64 encriptada con una clave de Cloud KMS.
KMSEncryptionKey La clave de encriptación de Cloud KMS para desencriptar el nombre de usuario, la contraseña y la string de conexión (opcional). Si se pasa la clave de Cloud KMS, el nombre de usuario, la contraseña y la string de conexión deben pasarse encriptados.

Ejecuta la plantilla de JDBC a BigQuery

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the JDBC to BigQuery template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery
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=PROJECT_ID:DATASET.TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD,\
KMSEncryptionKey=KMS_ENCRYPTION_KEY

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • DRIVER_PATHS: Son las rutas de Cloud Storage separadas por comas de los controladores JDBC.
  • DRIVER_CLASS_NAME: Es el nombre de la clase de unidad.
  • JDBC_CONNECTION_URL: Es la URL de conexión de JDBC.
  • SOURCE_SQL_QUERY: Es la consulta de SQL que se ejecutará en la base de datos de origen.
  • DATASET: Es el conjunto de datos de BigQuery y reemplaza TABLE_NAME: el nombre de tu tabla de BigQuery.
  • PATH_TO_TEMP_DIR_ON_GCS: Es la ruta de acceso de Cloud Storage al directorio temporal.
  • CONNECTION_PROPERTIES: Las propiedades de conexión de JDBC, si es necesario
  • CONNECTION_USERNAME: Es el nombre de usuario de la conexión de JDBC.
  • CONNECTION_PASSWORD: Es la contraseña de la conexión de JDBC.
  • KMS_ENCRYPTION_KEY: Es la clave de encriptación de Cloud KMS.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

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

POST https://dataflow.googleapis.com/v1b3/projects/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": "PROJECT_ID:DATASET.TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD",
       "KMSEncryptionKey":"KMS_ENCRYPTION_KEY"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • DRIVER_PATHS: Son las rutas de Cloud Storage separadas por comas de los controladores JDBC.
  • DRIVER_CLASS_NAME: Es el nombre de la clase de unidad.
  • JDBC_CONNECTION_URL: Es la URL de conexión de JDBC.
  • SOURCE_SQL_QUERY: Es la consulta de SQL que se ejecutará en la base de datos de origen.
  • DATASET: Es el conjunto de datos de BigQuery y reemplaza TABLE_NAME: el nombre de tu tabla de BigQuery.
  • PATH_TO_TEMP_DIR_ON_GCS: Es la ruta de acceso de Cloud Storage al directorio temporal.
  • CONNECTION_PROPERTIES: Las propiedades de conexión de JDBC, si es necesario
  • CONNECTION_USERNAME: Es el nombre de usuario de la conexión de JDBC.
  • CONNECTION_PASSWORD: Es la contraseña de la conexión de JDBC.
  • KMS_ENCRYPTION_KEY: Es la clave de encriptación de Cloud KMS.

Apache Cassandra a Cloud Bigtable

La plantilla de Apache Cassandra a Cloud Bigtable permite copiar una tabla de Apache Cassandra a Cloud Bigtable. Tiene requisitos de configuración mínimos y replica lo mejor posible la estructura de la tabla de Cassandra en Cloud Bigtable.

Esta plantilla es útil para las siguientes acciones:

  • Migrar la base de datos de Apache Cassandra cuando es aceptable tener un tiempo de inactividad breve
  • Replicar de forma periódica las tablas de Cassandra en Cloud Bigtable para fines de entrega global

Requisitos para esta canalización:

  • La tabla de destino de Bigtable debe existir antes de ejecutar la canalización.
  • Debe existir una conexión de red entre los trabajadores de Dataflow y los nodos de Apache Cassandra.

Conversión de tipos

La plantilla de Apache Cassandra a Cloud Bigtable convierte automáticamente los tipos de datos de Cassandra en los de Bigtable.

La mayoría de los tipos de datos primitivos se representan de la misma manera en Cloud Bigtable y Apache Cassandra. Sin embargo, los siguientes datos primitivos se representan de forma distinta:

  • Date y Timestamp se convierten en objetos DateTime
  • UUID se convierte en String
  • Varint se convierte en BigDecimal

Apache Cassandra también admite de forma nativa tipos más complejos, como Tuple, List, Set y Map. Esta canalización no admite tuplas, ya que no hay un tipo correspondiente en Apache Beam.

Por ejemplo, en Apache Cassandra puedes tener una columna de tipo List denominada “mylist” y valores como los de la siguiente tabla:

row milista
1 (a,b,c)

La canalización expande la columna de lista en tres diferentes (conocidas en Cloud Bigtable como calificadores de columna). El nombre de las columnas es “mylist”, pero la canalización anexa el índice del elemento de la lista, como “mylist[0]”.

row mylist[0] milista[1] milista[2]
1 a b c

La canalización controla los conjuntos del mismo modo que las listas, pero agrega un sufijo para indicar si la celda es una clave o un valor.

row mimapa
1 {"first_key":"first_value","another_key":"different_value"}

Después de la transformación, la tabla aparece de la siguiente manera:

row mymap[0].key mimapa[0].valor mymap[1].key mymap[1].value
1 primera_clave primer_valor otra_clave otro_valor

Conversión de claves primarias

En Apache Cassandra se establece una clave primaria con el lenguaje de definición de datos. La clave primaria puede ser simple, compuesta o conformada por columnas de agrupamiento en clústeres. Cloud Bigtable admite la construcción manual de claves de fila, ordenadas de forma lexicográfica en un arreglo de bytes. Esta canalización recopila de manera automática información sobre el tipo de clave y crea la clave según las prácticas recomendadas para compilar claves de filas basadas en varios valores.

Parámetros de la plantilla

Parámetro Descripción
cassandraHosts Los hosts de los nodos de Apache Cassandra en una lista separada por comas.
cassandraPort El puerto TCP para alcanzar a Apache Cassandra en los nodos; el valor predeterminado es 9042 (opcional).
cassandraKeyspace El espacio de claves de Apache Cassandra en el que se encuentra la tabla.
cassandraTable La tabla de Apache Cassandra que se copiará.
bigtableProjectId El ID del proyecto de Google Cloud de la instancia de Bigtable en la que se copia la tabla Apache Cassandra.
bigtableInstanceId El ID de instancia de Bigtable en el que se copiará la tabla de Apache Cassandra.
bigtableTableId El nombre de la tabla de Bigtable en la que se copiará la tabla de Apache Cassandra.
defaultColumnFamily El nombre de la familia de columnas de la tabla de Bigtable; el valor predeterminado es default (opcional).
rowKeySeparator El separador que se usa para compilar la clave de fila; el valor predeterminado es # (opcional).

Ejecuta la plantilla de Apache Cassandra a Cloud Bigtable

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Cassandra to Cloud Bigtable template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cassandra_To_Cloud_Bigtable \
    --parameters\
bigtableProjectId=PROJECT_ID,\
bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
bigtableTableId=BIGTABLE_TABLE_ID,\
cassandraHosts=CASSANDRA_HOSTS,\
cassandraKeyspace=CASSANDRA_KEYSPACE,\
cassandraTable=CASSANDRA_TABLE

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra Cloud Bigtable.
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BIGTABLE_INSTANCE_ID: Es el ID de instancia de Cloud Bigtable.
  • BIGTABLE_TABLE_ID: Es el nombre de tu tabla de Cloud Bigtable.
  • CASSANDRA_HOSTS: Es la lista de hosts de Apache Cassandra. Si se proporcionan varios hosts, sigue las instrucciones para escapar de las comas.
  • CASSANDRA_KEYSPACE: Es el espacio de claves de Apache Cassandra en el que se encuentra la tabla.
  • CASSANDRA_TABLE: Es la tabla de Apache Cassandra que debe migrarse.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cassandra_To_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "PROJECT_ID",
       "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
       "bigtableTableId": "BIGTABLE_TABLE_ID",
       "cassandraHosts": "CASSANDRA_HOSTS",
       "cassandraKeyspace": "CASSANDRA_KEYSPACE",
       "cassandraTable": "CASSANDRA_TABLE"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra Cloud Bigtable.
  • JOB_NAME: Es el nombre del trabajo que elijas
  • BIGTABLE_INSTANCE_ID: Es el ID de instancia de Cloud Bigtable.
  • BIGTABLE_TABLE_ID: Es el nombre de tu tabla de Cloud Bigtable.
  • CASSANDRA_HOSTS: Es la lista de hosts de Apache Cassandra. Si se proporcionan varios hosts, sigue las instrucciones para escapar de las comas.
  • CASSANDRA_KEYSPACE: Es el espacio de claves de Apache Cassandra en el que se encuentra la tabla.
  • CASSANDRA_TABLE: Es la tabla de Apache Cassandra que debe migrarse.

Apache Hive a BigQuery

La plantilla de Apache Hive a BigQuery es una canalización por lotes que lee datos de una tabla de Apache Hive y los escribe en una tabla de BigQuery.

Requisitos para esta canalización:

  • La tabla de destino de BigQuery debe existir antes de ejecutar la canalización.
  • Debe existir una conexión de red entre los trabajadores de Dataflow y los nodos de Apache Hive.
  • Debe existir una conexión de red entre los trabajadores de Dataflow y el nodo del servidor Apache Thrift.
  • El conjunto de datos de BigQuery debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
metastoreUri URI del servidor de Apache Thrift, como thrift://thrift-server-host:port.
hiveDatabaseName Nombre de la base de datos de Apache Hive que contiene la tabla que deseas exportar.
hiveTableName Nombre de la tabla de Apache Hive que deseas exportar.
outputTableSpec Ubicación de la tabla de salida de BigQuery, en el formato <my-project>:<my-dataset>.<my-table>.
hivePartitionCols Lista separada por comas de las columnas de partición de Apache Hive (opcional).
filterString String de filtro para la tabla de entrada de Apache Hive (opcional).
partitionType Tipo de partición en BigQuery (opcional). Por el momento, solo se admite Time.
partitionCol Nombre de la columna de la partición en la tabla de BigQuery de salida (opcional).

Ejecuta la plantilla de Apache Hive a BigQuery

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Hive to BigQuery template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Hive_To_BigQuery
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Hive_To_BigQuery \
    --parameters\
metastoreUri=METASTORE_URI,\
hiveDatabaseName=HIVE_DATABASE_NAME,\
hiveTableName=HIVE_TABLE_NAME,\
outputTableSpec=PROJECT_ID:DATASET.TABLE_NAME,\
hivePartitionCols=HIVE_PARTITION_COLS,\
filterString=FILTER_STRING,\
partitionType=PARTITION_TYPE,\
partitionCol=PARTITION_COL

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra BigQuery.
  • JOB_NAME: Es el nombre de trabajo que elijas.
  • DATASET: Es el conjunto de datos de BigQuery.
  • TABLE_NAME: Es el nombre de la tabla de BigQuery.
  • METASTORE_URI: Es el URI del servidor de Apache Thrift.
  • HIVE_DATABASE_NAME: Es el nombre de la base de datos de Apache Hive que contiene la tabla que deseas exportar.
  • HIVE_TABLE_NAME: Es el nombre de la tabla de Apache Hive que deseas exportar.
  • HIVE_PARTITION_COLS: Es la lista separada por comas de las columnas de partición de Apache Hive.
  • FILTER_STRING: Es la string de filtro de la tabla de entrada de Apache Hive.
  • PARTITION_TYPE: Es el tipo de partición en BigQuery.
  • PARTITION_COL: Es el nombre de la columna de partición de BigQuery.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/Hive_To_BigQuery

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Hive_To_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "metastoreUri": "METASTORE_URI",
       "hiveDatabaseName": "HIVE_DATABASE_NAME",
       "hiveTableName": "HIVE_TABLE_NAME",
       "outputTableSpec": "PROJECT_ID:DATASET.TABLE_NAME",
       "hivePartitionCols": "HIVE_PARTITION_COLS",
       "filterString": "FILTER_STRING",
       "partitionType": "PARTITION_TYPE",
       "partitionCol": "PARTITION_COL"
   },
   "environment": { "zone": "us-central1-f" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra BigQuery.
  • JOB_NAME: Es el nombre de trabajo que elijas.
  • DATASET: Es el conjunto de datos de BigQuery.
  • TABLE_NAME: Es el nombre de la tabla de BigQuery.
  • METASTORE_URI: Es el URI del servidor de Apache Thrift.
  • HIVE_DATABASE_NAME: Es el nombre de la base de datos de Apache Hive que contiene la tabla que deseas exportar.
  • HIVE_TABLE_NAME: Es el nombre de la tabla de Apache Hive que deseas exportar.
  • HIVE_PARTITION_COLS: Es la lista separada por comas de las columnas de partición de Apache Hive.
  • FILTER_STRING: Es la string de filtro de la tabla de entrada de Apache Hive.
  • PARTITION_TYPE: Es el tipo de partición en BigQuery.
  • PARTITION_COL: Es el nombre de la columna de partición de BigQuery.

Conversión del formato de archivo (Avro, Parquet y CSV)

La plantilla de conversión del formato de archivo es una canalización por lotes que convierte los archivos almacenados en Cloud Storage de un formato compatible a otro.

Se admiten las siguientes conversiones de formato:

  • De CSV a Avro
  • De CSV a Parquet
  • De Avro a Parquet
  • De Parquet a Avro

Requisitos para esta canalización:

  • El bucket de Cloud Storage de salida debe existir antes de ejecutar la canalización.

Parámetros de la plantilla

Parámetro Descripción
inputFileFormat Formato de archivo de entrada. Debe ser una de las siguientes opciones: [csv, avro, parquet].
outputFileFormat Formato de archivo de salida. Debe ser una de las siguientes opciones: [avro, parquet].
inputFileSpec El patrón de ruta de acceso de Cloud Storage para archivos de entrada. Por ejemplo, gs://bucket-name/path/*.csv
outputBucket Carpeta de Cloud Storage para escribir archivos de salida. Esta ruta de acceso debe terminar con una barra diagonal. Por ejemplo, gs://bucket-name/output/
schema Es la ruta de acceso de Cloud Storage al archivo de esquema de Avro. Por ejemplo, gs://bucket-name/schema/my-schema.avsc.
containsHeaders Los archivos CSV de entrada contienen un registro de encabezado (verdadero/falso) (opcional). El valor predeterminado es false. Solo se requiere cuando se leen los archivos CSV.
csvFormat Especificación de formato CSV para usar en el análisis de registros (opcional). El valor predeterminado es Default. Consulta Formato CSV de Apache Commons para obtener más detalles.
delimiter Delimitador del campo que usan los archivos CSV de entrada (opcional).
outputFilePrefix El prefijo del archivo de salida (opcional). El valor predeterminado es output.
numShards La cantidad de fragmentos de archivos de salida (opcional).

Ejecuta la plantilla de conversión del formato de archivo

Console

  1. Ve a la página Crear un trabajo a partir de una plantilla de Dataflow.
  2. Ir a Crear un trabajo a partir de una plantilla
  3. En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
  4. Opcional: Para Extremo regional, selecciona un valor del menú desplegable. El extremo regional predeterminado es us-central1.

    Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.

  5. En el menú desplegable Plantilla de Dataflow, selecciona the Convert file formats template.
  6. En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
  7. Haga clic en Ejecutar trabajo.

gcloud

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

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

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/flex/File_Format_Conversion
gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/File_Format_Conversion \
    --parameters \
inputFileFormat=INPUT_FORMAT,\
outputFileFormat=OUTPUT_FORMAT,\
inputFileSpec=INPUT_FILES,\
schema=SCHEMA,\
outputBucket=OUTPUT_FOLDER

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • INPUT_FORMAT: Es el formato de archivo del archivo de entrada debe ser uno de [csv, avro, parquet].
  • OUTPUT_FORMAT: Es el formato de archivo de los archivos de salida. Debe ser uno de [avro, parquet].
  • INPUT_FILES: Es el patrón de ruta para archivos de entrada.
  • OUTPUT_FOLDER: Es tu carpeta de Cloud Storage para archivos de salida.
  • SCHEMA: Es la ruta de acceso al archivo de esquema de Avro.
  • LOCATION: Es la región de ejecución, por ejemplo, us-central1.

API

Ejecuta desde la API de REST

Cuando ejecutas esta plantilla, necesitas la ruta de acceso de Cloud Storage a la plantilla:

gs://dataflow-templates/VERSION/flex/File_Format_Conversion

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputFileFormat": "INPUT_FORMAT",
          "outputFileFormat": "OUTPUT_FORMAT",
          "inputFileSpec": "INPUT_FILES",
          "schema": "SCHEMA",
          "outputBucket": "OUTPUT_FOLDER"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/File_Format_Conversion",
   }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID de tu proyecto
  • JOB_NAME: Es el nombre del trabajo que elijas
  • INPUT_FORMAT: Es el formato de archivo del archivo de entrada debe ser uno de [csv, avro, parquet].
  • OUTPUT_FORMAT: Es el formato de archivo de los archivos de salida. Debe ser uno de [avro, parquet].
  • INPUT_FILES: Es el patrón de ruta para archivos de entrada.
  • OUTPUT_FOLDER: Es tu carpeta de Cloud Storage para archivos de salida.
  • SCHEMA: Es la ruta de acceso al archivo de esquema de Avro.
  • LOCATION: Es la región de ejecución, por ejemplo, us-central1.