Procesa datos con plantillas

Dataplex ofrece plantillas con la tecnología de Dataflow, realizar tareas comunes de procesamiento de datos, como la transferencia, el procesamiento y administrar el ciclo de vida de los datos. En esta guía, se describe cómo configurar y ejecutar datos las plantillas de procesamiento.

Antes de comenzar

Las plantillas de Dataplex usan la tecnología de Dataflow. Antes de usar plantillas, habilita las APIs de Dataflow.

Habilita las APIs de Dataflow

Notas

Plantilla: Convertir datos sin procesar en datos seleccionados

La plantilla de conversión de formato de archivo de Dataplex convierte datos recurso de Cloud Storage de Dataplex o una lista de Entidades de Dataplex almacenadas en formatos CSV o JSON, Parquet o Datos en formato Avro en otro recurso de Dataplex. 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 la plantilla

Parámetro Descripción
inputAssetOrEntitiesList El activo de Dataplex o las entidades de Dataplex 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 seguir el formato: PARQUET o AVRO.
outputAsset El nombre del recurso de Dataplex que contiene el El bucket de Cloud Storage en el que se almacenarán los archivos de salida. Esta debe seguir el formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. Puedes encontrar la outputAsset en la consola de Google Cloud, en la Pestaña Details del recurso de Dataplex.
outputFileCompression Opcional: La compresión del archivo de salida. El valor predeterminado para este parámetro es SNAPPY. Otros valores del parámetro pueden ser UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 no es compatible con PARQUET archivos.
writeDisposition Opcional: Especifica la acción que se produce si un archivo de destino ya existe. El valor predeterminado para este parámetro es SKIP, qué indicadores procesar solo los archivos que no existen en el directorio de destino. Otros valores para el parámetro pueden ser OVERWRITE (reemplaza cualquier archivo existente) o FAIL (no proceses nada y produzca un error si se produce al menos ya existe).
updateDataplexMetadata

Opcional: Actualiza los metadatos de Dataplex para entidades recién creadas. El valor predeterminado para este parámetro es false

Si está habilitada, la canalización copiará automáticamente el esquema de la fuente a las entidades de Dataplex de destino, y no se ejecutará el descubrimiento automático de Dataplex. Usa esta marca si el elemento de los datos de origen (sin procesar) es administrado por Dataplex.

Ejecuta la plantilla

Console

  1. En la consola de Google Cloud, ve a la página Dataplex:

    Ir a Dataplex

  2. Navega a la vista Process.

  3. Haz clic en Crear tarea.

  4. En Convertir en formatos seleccionados, haz clic en Crear tarea.

  5. Elige un lake de Dataplex.

  6. Proporciona un nombre de tarea.

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

  8. Completa los parámetros obligatorios.

  9. Haga clic en Continuar.

gcloud

Reemplaza lo siguiente:

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 output asset ID

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

API de REST

Reemplaza lo siguiente:

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 output asset ID

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",
 }
}

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

BigQuery de Dataplex a Cloud Storage plantilla copia datos de un BigQuery de Dataplex recurso de Cloud Storage de Dataplex en un Diseño y formato compatibles con Dataplex. Puedes especificar Conjunto de datos de BigQuery o una lista de tablas de BigQuery que se copiará. Para mayor flexibilidad, la plantilla permite copiar datos anteriores a una fecha de modificación especificada y permite borrar los datos de forma opcional desde BigQuery después de una copia exitosa.

Cuando copias tablas particionadas desde BigQuery a Cloud Storage:

  • La plantilla crea particiones de estilo Hive en el bucket de Cloud Storage. BigQuery no puede tener la clave de partición de estilo Hive ser la misma que una columna existente. Puedes usar la opción enforceSamePartitionKey para crear una clave de partición nueva o mantener la misma clave de partición, pero cambiará el nombre de la columna existente.
  • Dataplex Discovery registra el tipo de partición como string cuando crees una tabla de BigQuery (y una tabla en Dataproc Metastore). Esto puede afectar los filtros de partición existentes.

Existe un límite para la cantidad de tablas y particiones que se pueden transformar en una sola ejecución de plantilla, que es de aproximadamente 300. La cantidad exacta depende la longitud de los nombres de las tablas y otros factores.

Parámetros de la plantilla

Parámetro Descripción
sourceBigQueryDataset Es el conjunto de datos de BigQuery del que se estratifican los datos. Este parámetro debe contener un nombre de recurso 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 en el formato projects/<name>/datasets/<dataset-id>
destinationStorageBucketAssetName El nombre del recurso de Dataplex para el bucket de Cloud Storage al nivel de los datos. Este parámetro debe seguir el formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>
tables Una lista separada por comas de tablas de BigQuery para del nivel de servicio. Si no se proporciona una lista, todas las tablas se dividirán en niveles. Las tablas deben tener se especifican solo por su nombre (sin prefijo de proyecto o conjunto de datos) y se distingue mayúsculas de minúsculas.
exportDataModifiedBeforeDateTime Opcional: utiliza este parámetro para mover datos anteriores a esta fecha (y horario opcional). Para las tablas particionadas de BigQuery, mueve particiones se modificaron por última vez antes de esta fecha/hora. En el caso de las tablas no particionadas, muévelas si la última modificación se realizó antes de esta fecha y hora. Si no es así especificada, mover todas las tablas/particiones. La fecha/hora se analiza en el zona horaria predeterminada de forma predeterminada, pero los sufijos opcionales Z y +HH:mm. Este parámetro debe seguir el formato YYYY-MM-DD o YYYY-MM-DDTHH:mm:ss o YYYY-MM-DDTHH:mm:ss+03:00 También se admite la fecha y hora relativas, que debe seguir el formato -PnDTnHnMn.nS (debe comenzar con -P, que indica la hora en el pasado).
fileFormat Opcional: El formato del archivo de salida en Cloud Storage. Predeterminado el valor de este parámetro es PARQUET. Otro valor para el puede ser AVRO.
fileCompression La compresión del archivo de salida (opcional) El valor predeterminado para este parámetro es SNAPPY. Otros valores del parámetro pueden ser UNCOMPRESSED, SNAPPY, GZIP o BZIP2. BZIP2 no es compatible con PARQUET archivos.
deleteSourceData Especifica si se deben borrar los datos de origen de BigQuery (opcional) después de una exportación exitosa. Los valores pueden ser true o false. El valor predeterminado para este parámetro es false.
partitionIdRegExp Opcional: Procesa particiones con un ID de partición que coincida con este normal expresión única. Si no se proporciona ningún valor, el valor predeterminado de este parámetro es procesar todo el proceso.
writeDisposition Opcional: Especifica la acción que se produce si un archivo de destino ya existe, lo que significa que una o más tablas/particiones ya existen nivelado previamente. El valor predeterminado para este parámetro es SKIP, que indica que se deben procesar solo las tablas o particiones que aún no se habían asignado a niveles previos. Otros valores para el parámetro pueden ser OVERWRITE (reemplaza cualquier archivo existente) o FAIL (no proceses nada y produzca un error si se produce al menos ya existe).
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 de acceso del archivo) de una tabla externa particionada tenga el mismo nombre que una de las columnas del archivo. Si este parámetro es verdadero (que es el valor predeterminado), la clave de partición del archivo de destino se establece en nombre de la columna de partición original y se cambia el nombre de la columna en el archivo. Si false, se cambia el nombre de la clave de partición.

Por ejemplo, si la tabla original está particionada en una columna llamada TS y enforceSamePartitionKey=true, y luego el la ruta del archivo de destino es gs://<bucket>/TS=<partition ID>/<file> y se cambia el nombre de la columna a TS_pkey en el archivo. Esta permite que las consultas existentes se ejecuten en las mismas particiones en ya sea la tabla antigua o la nueva.

Si es enforceSamePartitionKey=false, entonces 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: Actualiza los metadatos de Dataplex para entidades recién creadas. El valor predeterminado para este parámetro es false

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

Ejecuta la plantilla

Console

  1. En la consola de Google Cloud, ve a la página Dataplex:

    Ir a Dataplex

  2. Navega a la vista Process.

  3. Haz clic en Crear tarea.

  4. En Ordenar en niveles de elementos de BQ a GCS, haz clic en Crear tarea.

  5. Elige un lake de Dataplex.

  6. Proporciona un nombre de tarea.

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

  8. Completa los parámetros obligatorios.

  9. Haga clic en Continuar.

gcloud

Reemplaza lo siguiente:

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 asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket

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

API de REST

Reemplaza lo siguiente:

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 asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

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",
 }
}

Programa otras plantillas de Dataflow personalizadas o proporcionadas por Google Cloud

Dataplex te permite programar y supervisar cualquiera de los Las plantillas de Dataflow proporcionadas por Google Cloud o tu Plantilla de Dataflow en la consola

Programar

Console

  1. En la consola de Google Cloud, ve a la página Dataplex:

    Ir a Dataplex

  2. Navega a la vista Process.

  3. Haz clic en Crear tarea.

  4. En Crear una canalización de Dataflow, haz clic en Crear canalización de Dataflow.

  5. Elige un lake de Dataplex.

  6. Proporciona un nombre para la tarea.

  7. Elige una región para la ubicación en la que se ejecutará la tarea.

  8. Elige una plantilla de Dataflow.

  9. Completa los parámetros obligatorios.

  10. Haga clic en Continuar.

Supervisar

Console

  1. En la consola de Google Cloud, ve a la página Dataplex:

    Ir a Dataplex

  2. Navega a la vista Process.

  3. Haz clic en Canalizaciones de Dataflow.

  4. Filtra por nombre de lake o de canalización.