Procesar datos con plantillas

Dataplex Universal Catalog proporciona plantillas basadas en Dataflow para realizar tareas de procesamiento de datos habituales, como la ingestión y el procesamiento de datos, así como la gestión del ciclo de vida de los datos. En esta guía se describe cómo configurar y ejecutar plantillas de procesamiento de datos.

Antes de empezar

Las plantillas de Dataplex Universal Catalog se basan en Dataflow. Antes de usar plantillas, habilita las APIs de Dataflow.

Habilitar las APIs de Dataflow

Ten en cuenta lo siguiente:

  • Todas las plantillas admiten opciones de flujo de procesamiento de Dataflow comunes.

  • Dataplex Universal Catalog usa pipelines de datos para programar las tareas definidas por las plantillas.

  • Solo puedes ver las tareas que programes a través de Dataplex Universal Catalog en la Google Cloud consola, en la página Dataplex Universal Catalog.

Plantilla: convertir datos sin procesar en datos seleccionados

La plantilla de conversión de formato de archivo de Dataplex Universal Catalog convierte datos de un recurso de Cloud Storage de Dataplex Universal Catalog o de una lista de entidades de Dataplex Universal Catalog almacenadas en formato CSV o JSON a datos en formato Parquet o Avro en otro recurso de Dataplex Universal Catalog. El diseño de la partición se conserva en la conversión. También admite la compresión de los archivos de salida.

Parámetros de plantilla

Parámetro Descripción
inputAssetOrEntitiesList El recurso o las entidades de Dataplex Universal Catalog que contienen los archivos de entrada. Este parámetro debe tener el siguiente formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> o projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity1-name>,projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity 2 name>...
outputFileFormat El formato del archivo de salida en Cloud Storage. Este parámetro debe tener el formato PARQUET o AVRO.
outputAsset Nombre del recurso de Universal Catalog de Dataplex que contiene el segmento de Cloud Storage en el que se almacenarán los archivos de salida. Este parámetro debe tener el siguiente formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Puede encontrar el outputAsset en la consola Google Cloud , en la pestaña Recurso del catálogo universal de Dataplex Details.
outputFileCompression Opcional: la compresión del archivo de salida. El valor predeterminado de este parámetro es SNAPPY. Otros valores posibles del parámetro son UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 no es compatible con archivos PARQUET.
writeDisposition Opcional: especifica la acción que se lleva a cabo si ya existe un archivo de destino. El valor predeterminado de este parámetro es SKIP, lo que indica que solo se deben procesar los archivos que no estén en el directorio de destino. Otros valores posibles del parámetro son OVERWRITE (sobrescribe los archivos que ya existan) o FAIL (no procesa nada y genera un error si ya existe al menos un archivo de destino).
updateDataplexMetadata

Opcional: indica si quieres actualizar los metadatos de Dataplex Universal Catalog de las entidades recién creadas. El valor predeterminado de este parámetro es false.

Si está habilitada, la canalización copiará automáticamente el esquema de origen a las entidades de Dataplex de destino y no se ejecutará el descubrimiento automático de Dataplex Universal Catalog en ellas. Use esta marca si Dataplex gestiona el esquema de los datos de origen (sin procesar).

Ejecutar la plantilla

Consola

  1. En la Google Cloud consola, ve a la página Procesar de Dataplex Universal Catalog.

    Ir a Proceso

  2. Haz clic en Crear tarea.

  3. En Convertir a formatos seleccionados, haz clic en Crear tarea.

  4. Elige un lago de Dataplex Universal Catalog.

  5. Asigna un nombre a la tarea.

  6. Elige una región para ejecutar la tarea.

  7. Rellena los parámetros obligatorios.

  8. Haz clic en Continuar.

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-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview \
--parameters \
inputAssetOrEntitiesList=INPUT_ASSET_OR_ENTITIES_LIST,\
outputFileFormat=OUTPUT_FILE_FORMAT,\
outputAsset=OUTPUT_ASSET

Haz los cambios siguientes:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers
OUTPUT_FILE_FORMAT: your output file format in Cloud Storage
OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID

REST

Envía una solicitud HTTP POST:

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
  "launch_parameter": {
    "jobName": "JOB_NAME",
    "parameters": {
        "inputAssetOrEntitiesList": "INPUT_ASSET_OR_ENTITIES_LIST",
        "outputFileFormat": "OUTPUT_FILE_FORMAT",
        "outputAsset": "OUTPUT_ASSET",
    },
    "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview",
 }
}

Haz los cambios siguientes:

PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
JOB_NAME: a job name of your choice
INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers
OUTPUT_FILE_FORMAT: your output file format in Cloud Storage
OUTPUT_ASSET: your Dataplex Universal Catalog output asset ID

Plantilla: estratificar datos de un recurso de BigQuery a un recurso de Cloud Storage

La plantilla de Dataplex Universal Catalog de BigQuery a Cloud Storage copia datos de un recurso de BigQuery de Dataplex Universal Catalog a un recurso de Cloud Storage de Dataplex Universal Catalog con un diseño y un formato compatibles con Dataplex Universal Catalog. Puede especificar un conjunto de datos de BigQuery o una lista de tablas de BigQuery que se van a copiar. Para ofrecer más flexibilidad, la plantilla permite copiar datos anteriores a una fecha de modificación especificada y, opcionalmente, eliminar datos de BigQuery después de una copia correcta.

Al copiar tablas con particiones de BigQuery a Cloud Storage:

  • La plantilla crea particiones de estilo Hive en el segmento de Cloud Storage. BigQuery no puede tener la misma clave de partición de estilo Hive que una columna ya creada. Puede usar la opción enforceSamePartitionKey para crear una clave de partición o mantener la misma clave de partición, pero cambiar el nombre de la columna.
  • Dataplex Universal Catalog Discovery registra el tipo de partición como string al crear una tabla de BigQuery (y una tabla en Dataproc Metastore). Esto puede afectar a los filtros de partición que ya tenga.

Hay un límite en el número de tablas y particiones que se pueden transformar en una sola ejecución de plantilla, que es de aproximadamente 300. El número exacto depende de la longitud de los nombres de las tablas y de otros factores.

Parámetros de plantilla

Parámetro Descripción
sourceBigQueryDataset El conjunto de datos de BigQuery del que se van a organizar los datos por niveles. Este parámetro debe contener un nombre de recurso del catálogo universal de Dataplex con el formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> o un ID de conjunto de datos de BigQuery con el formato projects/<name>/datasets/<dataset-id>.
destinationStorageBucketAssetName Nombre del recurso de Dataplex Universal Catalog del segmento de Cloud Storage al que se van a asignar los datos. Este parámetro debe tener el formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>.
tables Opcional: lista de tablas de BigQuery separadas por comas que se van a organizar en niveles. Si no se proporciona ninguna lista, se aplicará el nivel a todas las tablas. Las tablas deben especificarse solo por su nombre (sin prefijo de proyecto ni de conjunto de datos) y distinguen entre mayúsculas y minúsculas.
exportDataModifiedBeforeDateTime Opcional: Usa este parámetro para mover los datos anteriores a esta fecha (y hora opcional). En el caso de las tablas de BigQuery particionadas, mueve las particiones que se modificaron por última vez antes de esta fecha y hora. En el caso de las tablas no particionadas, se moverán si la tabla se modificó por última vez antes de esta fecha y hora. Si no se especifica, se moverán todas las tablas o particiones. De forma predeterminada, la fecha y la hora se analizan en la zona horaria predeterminada, pero se admiten los sufijos opcionales Z y +HH:mm. Este parámetro debe tener el formato YYYY-MM-DD, YYYY-MM-DDTHH:mm:ss o YYYY-MM-DDTHH:mm:ss+03:00. También se admite el formato de fecha y hora relativas, que debe seguir el formato -PnDTnHnMn.nS (debe empezar por -P, que indica una hora del pasado).
fileFormat Opcional: formato del archivo de salida en Cloud Storage. El valor predeterminado de este parámetro es PARQUET. Otro valor del parámetro puede ser AVRO.
fileCompression Opcional: la compresión del archivo de salida. El valor predeterminado de este parámetro es SNAPPY. Otros valores posibles del parámetro son UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 no admite archivos PARQUET.
deleteSourceData Opcional: indica si se deben eliminar los datos de origen de BigQuery después de una exportación correcta. Los valores pueden ser true o false. El valor predeterminado de este parámetro es false.
partitionIdRegExp Opcional: Procesar solo las particiones cuyo ID coincida con esta expresión regular. Si no se proporciona ningún valor, el valor predeterminado de este parámetro es procesar todos los elementos.
writeDisposition Opcional: especifica la acción que se lleva a cabo si ya existe un archivo de destino, lo que significa que ya se han pre-niveles una o varias tablas o particiones. El valor predeterminado de este parámetro es SKIP, que indica que solo se deben procesar las tablas o particiones que aún no se hayan clasificado. Otros valores posibles del parámetro son OVERWRITE (sobrescribe los archivos que ya existan) o FAIL (no procesa nada y genera un error si ya existe al menos un archivo de destino).
enforceSamePartitionKey

Opcional: indica si se debe aplicar la misma clave de partición. Debido a una limitación de BigQuery, no es posible que la clave de partición (en la ruta del archivo) de una tabla externa con particiones tenga el mismo nombre que una de las columnas del archivo. Si este parámetro es true (que es el valor predeterminado), la clave de partición del archivo de destino se asigna al nombre de la columna de partición original y se cambia el nombre de la columna del archivo. Si es false, se cambia el nombre de la clave de partición.

Por ejemplo, si la tabla original tiene particiones en una columna llamada TS y enforceSamePartitionKey=true, la ruta del archivo de destino es gs://<bucket>/TS=<partition ID>/<file> y la columna se cambia a TS_pkey en el archivo. De esta forma, las consultas se pueden ejecutar en las mismas particiones de la tabla antigua o de la nueva.

Si enforceSamePartitionKey=false, la ruta del archivo de destino es gs://<bucket>/TS_pid=<partition ID>/<file>, pero el nombre de la columna se mantiene como TS en el archivo.

updateDataplexMetadata

Opcional: indica si quieres actualizar los metadatos de Dataplex Universal Catalog de las entidades recién creadas. El valor predeterminado de este parámetro es false.

Si está habilitada, la canalización copiará automáticamente el esquema de origen a las entidades de Dataplex de destino y no se ejecutará el descubrimiento automático de Dataplex Universal Catalog en ellas. Usa esta marca si gestionas el esquema de las tablas de BigQuery de origen.

Ejecutar la plantilla

Consola

  1. En la Google Cloud consola, ve a la página Procesar de Dataplex Universal Catalog.

    Ir a Proceso

  2. Haz clic en Crear tarea.

  3. En Nivel de BQ a recursos de GCS, haga clic en Crear tarea.

  4. Elige un lago de Dataplex Universal Catalog.

  5. Asigna un nombre a la tarea.

  6. Elige una región para ejecutar la tarea.

  7. Rellena los parámetros obligatorios.

  8. Haz clic en Continuar.

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-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview \
--parameters \
sourceBigQueryDataset=SOURCE_ASSET_NAME_OR_DATASET_ID,\
destinationStorageBucketAssetName=DESTINATION_ASSET_NAME

Haz los cambios siguientes:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
SOURCE_ASSET_NAME_OR_DATASET_ID: your Dataplex Universal Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex Universal Catalog asset name for
the destination Cloud Storage bucket

REST

Envía una solicitud HTTP POST:

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch
{
 "launch_parameter": {
    "jobName": "JOB_NAME",
    "parameters": {
        "sourceBigQueryDataset": "SOURCE_ASSET_NAME_OR_DATASET_ID",
        "destinationStorageBucketAssetName": "DESTINATION_ASSET_NAME",
    },
    "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview",
 }
}

Haz los cambios siguientes:

PROJECT_ID: your template project ID
REGION_NAME: region in which to run the job
JOB_NAME: a job name of your choice
SOURCE_ASSET_NAME_OR_DATASET_ID: your Dataplex Universal Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex Universal Catalog asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

Programar otras plantillas de Dataflow proporcionadas por Google Cloudo personalizadas

Dataplex Universal Catalog te permite programar y monitorizar cualquiera de las plantillas de Dataflow proporcionadas porGoogle Cloudo tu plantilla de Dataflow personalizada en la consola.

Programar

Consola

  1. En la Google Cloud consola, ve a la página Procesar de Dataplex Universal Catalog.

    Ir a Proceso

  2. Haz clic en Crear tarea.

  3. En Crear un flujo de procesamiento de Dataflow, haz clic en Crear flujo de procesamiento de Dataflow.

  4. Elige un lago de Dataplex Universal Catalog.

  5. Asigna un nombre a la tarea.

  6. Elige una región en la que ejecutar la tarea.

  7. Elige una plantilla de Dataflow.

  8. Rellena los parámetros obligatorios.

  9. Haz clic en Continuar.

Monitorizar

Consola

  1. En la Google Cloud consola, ve a la página Procesar de Dataplex Universal Catalog.

    Ir a Proceso

  2. Haz clic en Flujos de datos.

  3. Filtrar por nombre de lago o de canalización.