Google proporciona un conjunto de plantillas de código abierto de Dataflow.
Estas plantillas de Dataflow pueden ayudarte a resolver grandes tareas de datos, incluidas la importación, la exportación, la copia de seguridad y el restablecimiento de datos, y las operaciones de API masivas, todo sin el uso de un entorno de desarrollo dedicado. Las plantillas se compilan en Apache Beam y usan Dataflow para transformar los datos.
Para obtener información general sobre las plantillas, consulta Plantillas de Dataflow. Para obtener una lista de todas las plantillas proporcionadas por Google, consulta Comienza a usar las plantillas proporcionadas por Google.En esta guía, 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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery to TFRecords template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records \ --region REGION_NAME \ --parameters \ readQuery=READ_QUERY,\ outputDirectory=OUTPUT_DIRECTORY,\ trainingPercentage=TRAINING_PERCENTAGE,\ testingPercentage=TESTING_PERCENTAGE,\ validationPercentage=VALIDATION_PERCENTAGE,\ outputSuffix=OUTPUT_FILENAME_SUFFIX
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 salidaTRAINING_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de entrenamientoTESTING_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de pruebaVALIDATION_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de validaciónOUTPUT_FILENAME_SUFFIX
: Es el sufijo de archivo de registro de salida de TensorFlow preferido.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 salidaTRAINING_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de entrenamientoTESTING_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de pruebaVALIDATION_PERCENTAGE
: Es la división de porcentaje decimal para el conjunto de datos de validaciónOUTPUT_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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery export to Parquet (via Storage API) template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet \ --region=REGION_NAME \ --parameters \ tableRef=BIGQUERY_TABLE,\ bucket=OUTPUT_DIRECTORY,\ numShards=NUM_SHARDS,\ fields=FIELDS
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGQUERY_TABLE
: Es el nombre de la tabla de BigQuery.OUTPUT_DIRECTORY
: Es tu carpeta de Cloud Storage para archivos de salidaNUM_SHARDS
: Es la cantidad deseada de fragmentos de archivo de salidaFIELDS
: Es la lista de campos separados por comas para seleccionar de la tabla de entrada de BigQuery
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
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/VERSION/flex/BigQuery_to_Parquet", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGQUERY_TABLE
: Es el nombre de la tabla de BigQuery.OUTPUT_DIRECTORY
: Es tu carpeta de Cloud Storage para archivos de salidaNUM_SHARDS
: Es la cantidad deseada de fragmentos de archivo de salidaFIELDS
: Es la lista de campos separados por comas para seleccionar de la tabla de entrada de BigQuery
BigQuery a Elasticsearch
La plantilla de BigQuery a Elasticsearch es una canalización por lotes que transfiere datos de una tabla de BigQuery a Elasticsearch como documentos. La plantilla puede leer toda la tabla o registros específicos mediante una consulta proporcionada.
Requisitos para esta canalización
- La tabla de origen de BigQuery debe existir.
- Se debe poder acceder a un host de Elasticsearch en una instancia de Google Cloud o Elastic Cloud con la versión 7.0 de Elasticsearch o una superior desde las máquinas de trabajador de Dataflow.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
connectionUrl |
URL de Elasticsearch en el formato https://hostname:[port] o especificar el CloudID si usas Elastic Cloud. |
apiKey |
Clave de API codificada en Base64 que se usa para la autenticación. |
index |
El índice de Elasticsearch en el que se emitirá la solicitud, por ejemplo, my-index . |
inputTableSpec |
Tabla de BigQuery desde la que se puede leer para insertar en Elasticsearch (opcional). Se debe proporcionar la tabla o la consulta. Por ejemplo, projectId:datasetId.tablename . |
query |
Consulta de SQL para extraer datos de BigQuery (opcional). Se debe proporcionar la tabla o la consulta. |
useLegacySql |
Configurado como verdadero para usar SQL heredado (solo se aplica si se proporciona una consulta) (opcional). Valor predeterminado: false . |
batchSize |
El tamaño del lote en cantidad de documentos (opcional). Valor predeterminado: 1000 . |
batchSizeBytes |
El tamaño del lote en cantidad de bytes (opcional). Valor predeterminado: 5242880 (5 MB). |
maxRetryAttempts |
La cantidad máxima de reintentos debe ser mayor que 0 (opcional). Valor predeterminado: no retries . |
maxRetryDuration |
La duración máxima del reintento en milisegundos debe ser superior a 0 (opcional). Valor predeterminado: no retries . |
propertyAsIndex |
Opcional: Una propiedad en el documento que se indexa, cuyo valor especificará los metadatos _index para incluir con el documento en la solicitud masiva (tiene prioridad sobre una UDF _index ). Valor predeterminado: none. |
propertyAsId |
Opcional: Una propiedad en el documento que se indexa, cuyo valor especificará los metadatos _id para incluir con el documento en la solicitud masiva (tiene prioridad sobre una UDF _id ). Valor predeterminado: none. |
javaScriptIndexFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _index a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptIndexFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _index que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptIdFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _id a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptIdFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _id que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptTypeFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _type a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptTypeFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _type que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptIsDeleteFnGcsPath |
La ruta de acceso de Cloud Storage a la fuente de UDF de JavaScript para la función que determinará si el documento se debe borrar en lugar de insertar o actualizar (opcional). La función debe mostrar el valor de string "true" o "false" . Valor predeterminado: none. |
javaScriptIsDeleteFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que determinará si el documento se debe borrar en lugar de insertarse o actualizarse. La función debe mostrar el valor de string "true" o "false" . Valor predeterminado: none. |
usePartialUpdate |
Opcional: Indica si se deben usar actualizaciones parciales (actualizar en lugar de crear o indexar), que permite documentos parciales con solicitudes de Elasticsearch. Valor predeterminado: false . |
bulkInsertMethod |
Opcional: Si se debe usar INDEX (índice, permite inserción) o CREATE (creación, errores en _id duplicado) con solicitudes masivas de Elasticsearch. Valor predeterminado: CREATE . |
Ejecuta la plantilla de BigQuery a Elasticsearch
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery to Elasticsearch template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: Es el nombre de la tabla de BigQuery.CONNECTION_URL
: Es tu URL de ElasticsearchAPIKEY
: Es tu clave de API codificada en Base64 para la autenticaciónINDEX
: Es el índice de Elasticsearch.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: Es el nombre de la tabla de BigQuery.CONNECTION_URL
: Es tu URL de ElasticsearchAPIKEY
: Es tu clave de API codificada en Base64 para la autenticaciónINDEX
: Es el índice de Elasticsearch.
BigQuery a MongoDB
La plantilla de BigQuery a MongoDB es una canalización por lotes que lee filas de BigQuery y las escribe en MongoDB como documentos. Actualmente, cada fila se almacena como un documento.
Requisitos para esta canalización
- La tabla de origen de BigQuery debe existir.
- La instancia de destino de MongoDB debería ser accesible desde las máquinas de trabajador de Dataflow.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
mongoDbUri |
Es el URI de conexión de MongoDB con el formato mongodb+srv://:@ . |
database |
La base de datos en MongoDB en la que se debe almacenar la colección. Por ejemplo: my-db . |
collection |
Nombre de la colección en la base de datos de MongoDB. Por ejemplo: my-collection . |
inputTableSpec |
Tabla de BigQuery para leer. Por ejemplo, bigquery-project:dataset.input_table . |
Ejecuta la plantilla de BigQuery a MongoDB
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the BigQuery to MongoDB template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB \ --parameters \ inputTableSpec=INPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: Es el nombre de la tabla de origen de BigQuery.MONGO_DB_URI
: Es el URI de MongoDB.DATABASE
: Es tu base de datos de MongoDB.COLLECTION
: Es tu colección de MongoDB.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "mongoDbUri": "MONGO_DB_URI", "database": "DATABASE", "collection": "COLLECTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
INPUT_TABLE_SPEC
: Es el nombre de la tabla de origen de BigQuery.MONGO_DB_URI
: Es el URI de MongoDB.DATABASE
: Es tu base de datos de MongoDB.COLLECTION
: Es tu colección de MongoDB.
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to Avro Files on Cloud Storage template .
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to Parquet Files on Cloud Storage template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX,\ numShards=NUM_SHARDS
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", "numShards": "NUM_SHARDS" }, "environment": { "zone": "us-central1-f" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ destinationPath=DESTINATION_PATH,\ filenamePrefix=FILENAME_PREFIX
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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 [obsoleta]
Esta plantilla está obsoleta y se quitará en el primer trimestre de 2022. Migra a la plantilla de Firestore 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 |
El URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional). Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
El nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional).
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Datastore to Text Files on Cloud Storage template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Datastore_to_GCS_Text \ --region REGION_NAME \ --parameters \ datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\ datastoreReadProjectId=DATASTORE_PROJECT_ID,\ datastoreReadNamespace=DATASTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
BUCKET_NAME
: Es el nombre de tu bucket de Cloud Storage.DATASTORE_PROJECT_ID
: Es el ID del proyecto de Cloud en el que existe la instancia de Datastore.DATASTORE_KIND
: Es el tipo de entidades de DatastoreDATASTORE_NAMESPACE
: Es el espacio de nombres de tus entidades de DatastoreJAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Datastore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND" "datastoreReadProjectId": "DATASTORE_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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
BUCKET_NAME
: Es el nombre de tu bucket de Cloud Storage.DATASTORE_PROJECT_ID
: Es el ID del proyecto de Cloud en el que existe la instancia de Datastore.DATASTORE_KIND
: Es el tipo de entidades de DatastoreDATASTORE_NAMESPACE
: Es el espacio de nombres de tus entidades de DatastoreJAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
Firestore a Cloud Storage en archivos de texto
La plantilla de Firestore a Cloud Storage en archivos de texto es una canalización por lotes que lee entidades de Firestore 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:
Firestore se debe configurar en el proyecto antes de ejecutar la canalización.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
firestoreReadGqlQuery |
Consulta de GQL que especifica qué entidades tomar. Por ejemplo, SELECT * FROM MyKind |
firestoreReadProjectId |
El ID del proyecto de Google Cloud de la instancia de Firestore del que deseas leer los datos. |
firestoreReadNamespace |
Espacio de nombres de las entidades solicitadas. Para usar el espacio de nombres predeterminado, deja este parámetro en blanco. |
javascriptTextTransformGcsPath |
El URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional). Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
El nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional).
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
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 Firestore a Cloud Storage en archivos de texto
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Firestore to Text Files on Cloud Storage template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Firestore_to_GCS_Text \ --region REGION_NAME \ --parameters \ firestoreReadGqlQuery="SELECT * FROM FIRESTORE_KIND",\ firestoreReadProjectId=FIRESTORE_PROJECT_ID,\ firestoreReadNamespace=FIRESTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
BUCKET_NAME
: Es el nombre de tu bucket de Cloud Storage.FIRESTORE_PROJECT_ID
: Es el ID del proyecto de Cloud en el que existe la instancia de Firestore.FIRESTORE_KIND
: Es el tipo de tus entidades de Firestore.FIRESTORE_NAMESPACE
: Es el espacio de nombres de las entidades de Firestore.JAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Firestore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "firestoreReadGqlQuery": "SELECT * FROM FIRESTORE_KIND" "firestoreReadProjectId": "FIRESTORE_PROJECT_ID", "firestoreReadNamespace": "FIRESTORE_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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
BUCKET_NAME
: Es el nombre de tu bucket de Cloud Storage.FIRESTORE_PROJECT_ID
: Es el ID del proyecto de Cloud en el que existe la instancia de Firestore.FIRESTORE_KIND
: Es el tipo de tus entidades de Firestore.FIRESTORE_NAMESPACE
: Es el espacio de nombres de las entidades de Firestore.JAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
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. |
|
tableNames |
Una lista separada por comas de tablas que especifican el subconjunto de la base de datos de Cloud Spanner que se exportará (opcional). La lista debe incluir todas las tablas relacionadas (tablas superiores, tablas a las que se hace referencia en la clave externa). Si no se enumeran de forma explícita, la marca “mustExportBasedTables” debe configurarse para una exportación correcta. | |
shouldExportRelatedTables |
(Opcional) La marca que se usa junto con el parámetro “tableNames” para incluir todas las tablas relacionadas que se exportarán. | |
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- 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 la consola de Google Cloud, 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 SpannerSPANNER_DATABASE_NAME
: El nombre de tu base de datos de Spanner
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Spanner to Avro Files on Cloud Storage template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ outputDir=GCS_DIRECTORY
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasPara que el trabajo se muestre en la parte de Cloud Spanner de la consola de Google Cloud, el nombre del trabajo debe coincidir con el formato
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
GCS_STAGING_LOCATION
: Es la ruta en la que se deben escribir archivos temporales, por ejemplo,gs://mybucket/temp
.INSTANCE_ID
: Es el ID de instancia de Cloud SpannerDATABASE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasPara que el trabajo se muestre en la parte de Cloud Spanner de la consola de Google Cloud, el nombre del trabajo debe coincidir con el formato
cloud-spanner-export-INSTANCE_ID-DATABASE_ID
.VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
GCS_STAGING_LOCATION
: Es la ruta en la que se deben escribir archivos temporales, por ejemplo,gs://mybucket/temp
.INSTANCE_ID
: Es el ID de instancia de Cloud SpannerDATABASE_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 .
Cloud Spanner a Cloud Storage Text
La plantilla de Cloud Spanner a Cloud Storage Text es una canalización por lotes que lee datos desde una tabla de Cloud Spanner y los 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/ . |
spannerSnapshotTime |
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. |
Ejecuta la plantilla de Cloud Spanner a Cloud Storage Text
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Spanner to Text Files on Cloud Storage template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Spanner_to_GCS_Text \ --region REGION_NAME \ --parameters \ spannerProjectId=SPANNER_PROJECT_ID,\ spannerDatabaseId=DATABASE_ID,\ spannerInstanceId=INSTANCE_ID,\ spannerTable=TABLE_ID,\ textWritePrefix=gs://BUCKET_NAME/output/
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
SPANNER_PROJECT_ID
: Es el ID del proyecto de Cloud de la base de datos de Spanner desde la que deseas leer los datos.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.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Spanner_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "spannerProjectId": "SPANNER_PROJECT_ID", "spannerDatabaseId": "DATABASE_ID", "spannerInstanceId": "INSTANCE_ID", "spannerTable": "TABLE_ID", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "environment": { "zone": "us-central1-f" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
SPANNER_PROJECT_ID
: Es el ID del proyecto de Cloud de la base de datos de Spanner desde la que deseas leer los datos.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.
Archivos Avro de Cloud Storage en 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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Avro Files on Cloud Storage to Cloud Bigtable template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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*
.
Archivos Avro de Cloud Storage en 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 |
El 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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- 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 la consola de Google Cloud, 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 SpannerSPANNER_DATABASE_NAME
: El nombre de tu base de datos de Spanner
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Avro Files on Cloud Storage to Cloud Spanner template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner \ --region REGION_NAME \ --staging-location GCS_STAGING_LOCATION \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ inputDir=GCS_DIRECTORY
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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_DIRECTORY
: Es la ruta de Cloud Storage desde la que se importan los archivos Avro, por ejemplo,gs://mybucket/somefolder
.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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_DIRECTORY
: Es la ruta de Cloud Storage desde la que se importan los archivos Avro, por ejemplo,gs://mybucket/somefolder
.
Archivos Parquet de Cloud Storage en 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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Parquet Files on Cloud Storage to Cloud Bigtable template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the SequenceFile Files on Cloud Storage to Cloud Bigtable template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProject=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ bigtableAppProfileId=APPLICATION_PROFILE_ID,\ sourcePattern=SOURCE_PATTERN
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProject": "BIGTABLE_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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_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 array JSON de nivel superior titulado
BigQuery Schema
y que su contenido siga el patrón{"name": "COLUMN_NAME", "type": "DATA_TYPE"}
.La plantilla de texto de Cloud Storage a BigQuery no admite la importación de datos a los campos
STRUCT
(Record) en la tabla BigQuery de destino.En el siguiente JSON, se describe un esquema de BigQuery de 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 |
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
JSONPath |
Ruta gs:// al archivo JSON que define el esquema BigQuery, almacenado en Cloud Storage. Por ejemplo, gs://path/to/my/schema.json |
javascriptTextTransformGcsPath |
El URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar. Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
inputFilePattern |
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to BigQuery (Batch) template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery \ --region REGION_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
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
JAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de 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
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
JAVASCRIPT_FUNCTION
es el nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de 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
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
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.
Cloud Storage en archivos de texto a Datastore [obsoleta]
Esta plantilla está obsoleta y se quitará en el primer trimestre de 2022. Migra a la plantilla de Cloud Storage en archivos de texto a Firestore.
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 URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional). Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
El nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional).
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
datastoreWriteProjectId |
El ID del proyecto de Google Cloud en el que se escriben las entidades de Datastore. |
datastoreHintNumWorkers |
Una sugerencia para la cantidad esperada de trabajadores en el paso de regulación del aumento de Datastore (opcional). El valor predeterminado es 500 . |
errorWritePath |
Archivo de salida de registro de errores para escribir las fallas que ocurren durante el procesamiento. Por ejemplo, gs://bucket-name/errors.txt . |
Ejecuta la plantilla de texto Cloud Storage a Datastore
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Datastore template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Datastore \ --region REGION_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
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Es la ruta de acceso deseada al archivo de error en Cloud Storage.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Es la ruta de acceso deseada al archivo de error en Cloud Storage.
Cloud Storage en archivos de texto a Firestore
La plantilla de Cloud Storage en archivos de texto 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 Firestore. 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 Firestore 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 URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional). Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
El nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional).
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
firestoreWriteProjectId |
El ID del proyecto de Google Cloud en el que se escriben las entidades de Firestore. |
firestoreHintNumWorkers |
Una sugerencia para la cantidad esperada de trabajadores en el paso de regulación del aumento de Firestore (opcional). El valor predeterminado es 500 . |
errorWritePath |
Archivo de salida de registro de errores para escribir las fallas que ocurren durante el procesamiento. Por ejemplo, gs://bucket-name/errors.txt . |
Ejecuta la plantilla de Cloud Storage en archivos de texto a Firestore
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Firestore template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Firestore \ --region REGION_NAME \ --parameters \ textReadPattern=PATH_TO_INPUT_TEXT_FILES,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ firestoreWriteProjectId=PROJECT_ID,\ errorWritePath=ERROR_FILE_WRITE_PATH
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Es la ruta de acceso deseada al archivo de error en Cloud Storage.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Firestore { "jobName": "JOB_NAME", "parameters": { "textReadPattern": "PATH_TO_INPUT_TEXT_FILES", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "firestoreWriteProjectId": "PROJECT_ID", "errorWritePath": "ERROR_FILE_WRITE_PATH" }, "environment": { "zone": "us-central1-f" } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 definida por el usuario (UDF) de JavaScript que deseas usar.Por ejemplo, si el código de tu función de JavaScript es
myTransform(inJson) { /*...do stuff...*/ }
, el nombre de la función esmyTransform
. Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: El URI de Cloud Storage de.js
archivo que define la función definida por el usuario (UDF) de JavaScript que deseas usar, por ejemplo:gs://my-bucket/my-udfs/my_file.js
ERROR_FILE_WRITE_PATH
: Es la ruta de acceso deseada al archivo de error en Cloud Storage.
Texto de Cloud Storage en 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)
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Pub/Sub (Batch) template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
TOPIC_NAME
: Es el nombre del tema de Pub/Sub.BUCKET_NAME
: Es el nombre de tu bucket de Cloud Storage.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 en 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:
GoogleSQL
BOOL INT64 FLOAT64 NUMERIC STRING DATE TIMESTAMP BYPES JSON
PostgreSQL
boolean bigint double precision numeric character varying, text date timestamp with time zone bytea
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Text Files on Cloud Storage to Cloud Spanner template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner \ --region REGION_NAME \ --parameters \ instanceId=INSTANCE_ID,\ databaseId=DATABASE_ID,\ importManifest=GCS_PATH_TO_IMPORT_MANIFEST
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
INSTANCE_ID
: Es el ID de instancia de Cloud SpannerDATABASE_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.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
INSTANCE_ID
: Es el ID de instancia de Cloud SpannerDATABASE_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.
Cloud Storage a Elasticsearch
La plantilla de Cloud Storage a Elasticsearch es una canalización por lotes que lee datos de archivos CSV almacenados en un bucket de Cloud Storage y los escribe en Elasticsearch como documentos de JSON.
Requisitos para esta canalización:
- El bucket de Cloud Storage debe existir.
- Debe existir un host de Elasticsearch en una instancia de Google Cloud o en Elasticsearch Cloud al que se pueda acceder desde Dataflow.
- Debe existir una tabla de BigQuery para el resultado del error.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
inputFileSpec |
El patrón del archivo de Cloud Storage para buscar archivos CSV. Ejemplo: gs://mybucket/test-*.csv . |
connectionUrl |
URL de Elasticsearch en el formato https://hostname:[port] o especificar el CloudID si usas Elastic Cloud. |
apiKey |
Clave de API codificada en Base64 que se usa para la autenticación. |
index |
El índice de Elasticsearch en el que se emitirá la solicitud, como my-index . |
deadletterTable |
La tabla de mensajes no entregados de BigQuery a la que se enviarán las inserciones con errores. Ejemplo: <your-project>:<your-dataset>.<your-table-name> . |
containsHeaders |
Booleano para indicar si los encabezados se incluyen en el CSV (opcional). true (predeterminada) |
delimiter |
El delimitador que usa el CSV (opcional). Ejemplo: , |
csvFormat |
El formato CSV según el formato CSV de Apache Commons (opcional). Valor predeterminado: Default . |
jsonSchemaPath |
La ruta al esquema de JSON (opcional). Valor predeterminado: null . |
largeNumFiles |
Configurado como verdadero si el número de archivos está en las decenas de miles (opcional). Valor predeterminado: false . |
javascriptTextTransformGcsPath |
El URI de Cloud Storage del archivo .js que define la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional). Por ejemplo, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
El nombre de la función definida por el usuario (UDF) de JavaScript que deseas usar (opcional).
Por ejemplo, si el código de tu función de JavaScript es myTransform(inJson) { /*...do stuff...*/ } , el nombre de la función es myTransform . Para ver ejemplos de UDF de JavaScript, consulta Ejemplos de UDF.
|
batchSize |
El tamaño del lote en cantidad de documentos (opcional). Valor predeterminado: 1000 . |
batchSizeBytes |
El tamaño del lote en cantidad de bytes (opcional). Valor predeterminado: 5242880 (5 MB). |
maxRetryAttempts |
La cantidad máxima de reintentos debe ser mayor que 0 (opcional). Predeterminado: sin reintentos. |
maxRetryDuration |
La duración máxima del reintento en milisegundos debe ser superior a 0 (opcional). Predeterminado: sin reintentos. |
csvFileEncoding |
Codificación de archivos CSV (opcional). |
propertyAsIndex |
Opcional: Una propiedad en el documento que se indexa, cuyo valor especificará los metadatos _index para incluir con el documento en la solicitud masiva (tiene prioridad sobre una UDF _index ). Valor predeterminado: none. |
propertyAsId |
Opcional: Una propiedad en el documento que se indexa, cuyo valor especificará los metadatos _id para incluir con el documento en la solicitud masiva (tiene prioridad sobre una UDF _id ). Valor predeterminado: none. |
javaScriptIndexFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _index a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptIndexFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _index que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptIdFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _id a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptIdFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _id que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptTypeFnGcsPath |
La ruta de Cloud Storage a la fuente de UDF de JavaScript para una función que especificará los metadatos _type a fin de incluir el documento en la solicitud masiva (opcional). Valor predeterminado: none. |
javaScriptTypeFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que especificará los metadatos _type que se incluirán en el documento en la solicitud masiva. Valor predeterminado: none. |
javaScriptIsDeleteFnGcsPath |
La ruta de acceso de Cloud Storage a la fuente de UDF de JavaScript para la función que determinará si el documento se debe borrar en lugar de insertar o actualizar (opcional). La función debe mostrar el valor de string "true" o "false" . Valor predeterminado: none. |
javaScriptIsDeleteFnName |
Opcional: El nombre de función de JavaScript de la UDF para la función que determinará si el documento se debe borrar en lugar de insertarse o actualizarse. La función debe mostrar el valor de string "true" o "false" . Valor predeterminado: none. |
usePartialUpdate |
Opcional: Indica si se deben usar actualizaciones parciales (actualizar en lugar de crear o indexar), que permite documentos parciales con solicitudes de Elasticsearch. Valor predeterminado: false . |
bulkInsertMethod |
Opcional: Si se debe usar INDEX (índice, permite inserción) o CREATE (creación, errores en _id duplicado) con solicitudes masivas de Elasticsearch. Valor predeterminado: CREATE . |
Ejecuta la plantilla de Cloud Storage en Elasticsearch
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cloud Storage to Elasticsearch template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID\ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/GCS_to_Elasticsearch \ --parameters \ inputFileSpec=INPUT_FILE_SPEC,\ connectionUrl=CONNECTION_URL,\ apiKey=APIKEY,\ index=INDEX,\ deadletterTable=DEADLETTER_TABLE,\
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
INPUT_FILE_SPEC
: Es el patrón de archivo de Cloud Storage.CONNECTION_URL
: Es tu URL de ElasticsearchAPIKEY
: Es tu clave de API codificada en Base64 para la autenticaciónINDEX
: Es el índice de Elasticsearch.DEADLETTER_TABLE
: Es tu tabla de BigQuery.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputFileSpec": "INPUT_FILE_SPEC", "connectionUrl": "CONNECTION_URL", "apiKey": "APIKEY", "index": "INDEX", "deadletterTable": "DEADLETTER_TABLE" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/GCS_to_Elasticsearch", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
INPUT_FILE_SPEC
: Es el patrón de archivo de Cloud Storage.CONNECTION_URL
: Es tu URL de ElasticsearchAPIKEY
: Es tu clave de API codificada en Base64 para la autenticaciónINDEX
: Es el índice de Elasticsearch.DEADLETTER_TABLE
: Es tu tabla de BigQuery.
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). El formato de la string debe ser [propertyName=property;]* . 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. |
disabledAlgorithms |
(Opcional) Algoritmos separados por comas que se deben inhabilitar. Si este valor se establece como none , no se inhabilita ningún algoritmo. Ten cuidado, ya que los algoritmos inhabilitados de forma predeterminada tienen vulnerabilidades o problemas de rendimiento. Por ejemplo: SSLv3, RC4. |
extraFilesToStage |
Rutas de Cloud Storage separadas por comas o secretos de Secret Manager para los archivos que se deben almacenar en etapa intermedia en el trabajador. Estos archivos se guardarán en el directorio /extra_files de cada trabajador. Por ejemplo, gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> |
Ejecuta la plantilla de JDBC a BigQuery
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the JDBC to BigQuery template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Jdbc_to_BigQuery \ --region REGION_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
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 reemplazaTABLE_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 necesarioCONNECTION_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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
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 reemplazaTABLE_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 necesarioCONNECTION_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.
Conectividad a bases de datos de Java (JDBC) para Pub/Sub
La plantilla de conectividad de la base de datos de Java (JDBC) a Pub/Sub es una canalización por lotes que transfiere datos desde la fuente de JDBC y escribe los registros resultantes en un tema de Pub/Sub preexistente como una string JSON.
Requisitos para esta canalización:
- La fuente de JDBC debe existir antes de ejecutar la canalización.
- El tema de Cloud Pub/Sub debe existir antes de ejecutar la canalización.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
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. |
driverJars |
Rutas de Cloud Storage separadas por comas para controladores de JDBC. Por ejemplo, gs://your-bucket/driver_jar1.jar,gs://your-bucket/driver_jar2.jar . |
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. |
connectionProperties |
La string de propiedades para usar en la conexión de JDBC (opcional). El formato de la string debe ser [propertyName=property;]* . Por ejemplo, unicode=true;characterEncoding=UTF-8 |
query |
La consulta que se ejecutará en la fuente para extraer los datos. Por ejemplo, select * from sampledb.sample_table |
outputTopic |
El tema Pub/Sub para publicar, en el formato projects/<project>/topics/<topic> . |
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. |
extraFilesToStage |
Rutas de Cloud Storage separadas por comas o secretos de Secret Manager para los archivos que se deben almacenar en etapa intermedia en el trabajador. Estos archivos se guardarán en el directorio /extra_files de cada trabajador. Por ejemplo, gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id> |
Ejecuta la plantilla de conectividad de la base de datos de Java (JDBC) a Pub/Sub
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the JDBC to Pub/Sub template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/flex/Jdbc_to_PubSub \ --region REGION_NAME \ --parameters \ driverClassName=DRIVER_CLASS_NAME,\ connectionURL=JDBC_CONNECTION_URL,\ driverJars=DRIVER_PATHS,\ username=CONNECTION_USERNAME,\ password=CONNECTION_PASSWORD,\ connectionProperties=CONNECTION_PROPERTIES,\ query=SOURCE_SQL_QUERY,\ outputTopic=OUTPUT_TOPIC,\ KMSEncryptionKey=KMS_ENCRYPTION_KEY
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
DRIVER_CLASS_NAME
: Es el nombre de la clase del controlador.JDBC_CONNECTION_URL
: Es la URL de conexión de JDBC.DRIVER_PATHS
: Son las rutas de Cloud Storage separadas por comas de los controladores JDBC.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.CONNECTION_PROPERTIES
: Las propiedades de conexión de JDBC, si es necesarioSOURCE_SQL_QUERY
: Es la consulta de SQL que se ejecutará en la base de datos de origen.OUTPUT_TOPIC
: Es el Pub/Sub en el que se publicará.KMS_ENCRYPTION_KEY
: Es la clave de encriptación de Cloud KMS.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "jobName": "JOB_NAME", "parameters": { "driverClassName": "DRIVER_CLASS_NAME", "connectionURL": "JDBC_CONNECTION_URL", "driverJars": "DRIVER_PATHS", "username": "CONNECTION_USERNAME", "password": "CONNECTION_PASSWORD", "connectionProperties": "CONNECTION_PROPERTIES", "query": "SOURCE_SQL_QUERY", "outputTopic": "OUTPUT_TOPIC", "KMSEncryptionKey":"KMS_ENCRYPTION_KEY" }, "environment": { "zone": "us-central1-f" }, }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
DRIVER_CLASS_NAME
: Es el nombre de la clase del controlador.JDBC_CONNECTION_URL
: Es la URL de conexión de JDBC.DRIVER_PATHS
: Son las rutas de Cloud Storage separadas por comas de los controladores JDBC.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.CONNECTION_PROPERTIES
: Las propiedades de conexión de JDBC, si es necesarioSOURCE_SQL_QUERY
: Es la consulta de SQL que se ejecutará en la base de datos de origen.OUTPUT_TOPIC
: Es el Pub/Sub en el que se publicará.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.
La 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
yTimestamp
se convierten en objetosDateTime
UUID
se convierte enString
Varint
se convierte enBigDecimal
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
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the Cassandra to Cloud Bigtable template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=BIGTABLE_INSTANCE_ID,\ bigtableTableId=BIGTABLE_TABLE_ID,\ cassandraHosts=CASSANDRA_HOSTS,\ cassandraKeyspace=CASSANDRA_KEYSPACE,\ cassandraTable=CASSANDRA_TABLE
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
REGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_PROJECT_ID
: Es el ID del proyecto en el que se encuentra Cloud Bigtable.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
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_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:
PROJET_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasVERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
LOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
BIGTABLE_PROJECT_ID
: Es el ID del proyecto en el que se encuentra Cloud Bigtable.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.
MongoDB a BigQuery
La plantilla de MongoDB a BigQuery es una canalización por lotes que lee documentos de MongoDB y los escribe en BigQuery, según lo especificado por el parámetro userOption
.
Requisitos para esta canalización
- El conjunto de datos de destino de BigQuery debe existir.
- Se debe poder acceder a la instancia de origen de MongoDB desde las máquinas de trabajador de Dataflow.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
mongoDbUri |
Es el URI de conexión de MongoDB con el formato mongodb+srv://:@ . |
database |
La base de datos en MongoDB en la que se debe leer la colección. Por ejemplo: my-db . |
collection |
Nombre de la colección dentro de la base de datos de MongoDB. Por ejemplo: my-collection . |
outputTableSpec |
La tabla de BigQuery en la que se escribirá. Por ejemplo, bigquery-project:dataset.output_table . |
userOption |
FLATTEN o NONE . FLATTEN aplana los documentos al primer nivel. NONE almacena todo el documento como una string JSON. |
Ejecuta la plantilla de MongoDB a BigQuery
Consola
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- 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.
- En el menú desplegable Plantilla de Dataflow, selecciona the MongoDB to BigQuery template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery \ --parameters \ outputTableSpec=OUTPUT_TABLE_SPEC,\ mongoDbUri=MONGO_DB_URI,\ database=DATABASE,\ collection=COLLECTION,\ userOption=USER_OPTION
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
OUTPUT_TABLE_SPEC
: Es el nombre de la tabla de BigQuery de destino.MONGO_DB_URI
: Es el URI de MongoDB.DATABASE
: Es tu base de datos de MongoDB.COLLECTION
: Es tu colección de MongoDB.USER_OPTION
: FLATTEN o NONE.
API
Para ejecutar la plantilla con la API de REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus permisos de autorización, consulta projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputTableSpec": "INPUT_TABLE_SPEC", "mongoDbUri": "MONGO_DB_URI", "database": "DATABASE", "collection": "COLLECTION", "userOption": "USER_OPTION" }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: El extremo regional en el que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket: gs://dataflow-templates/latest/- el nombre de la versión, como
2021-09-20-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket: gs://dataflow-templates/
OUTPUT_TABLE_SPEC
: Es el nombre de la tabla de BigQuery de destino.MONGO_DB_URI
: Es el URI de MongoDB.DATABASE
: Es tu base de datos de MongoDB.COLLECTION
: Es tu colección de MongoDB.USER_OPTION
: FLATTEN o NONE.