Dataplex proporciona plantillas con la tecnología de Dataflow para realizar tareas comunes de procesamiento de datos, como la transferencia, el procesamiento y la administració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 comenzar
Las plantillas de Dataplex funcionan con la tecnología de Dataflow. Antes de usar las plantillas, habilita las APIs de Dataflow.
Habilitar las APIs de Dataflow
Notas
Todas las plantillas admiten opciones de canalización de Dataflow comunes.
Dataplex usa canalizaciones de datos para programar las tareas que definen las plantillas.
Solo puedes ver las tareas que programas a través de Dataplex en la página de Dataplex de la consola de Google Cloud.
Plantilla: Convierte datos sin procesar en datos seleccionados
La plantilla de conversión del formato de archivo de Dataplex convierte los datos en un recurso de Cloud Storage de Dataplex, o una lista de entidades de Dataplex almacenadas en formatos CSV o JSON, a datos en formato Parquet o 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 recurso o las entidades de Dataplex que
contienen los archivos de entrada. Este parámetro debe seguir el 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 de 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
bucket de Cloud Storage en el que se almacenarán los archivos de salida. Este parámetro debe seguir el formato: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . Puedes encontrar el
outputAsset en la consola de Google Cloud, en la
pestaña Details del recurso de Dataplex. |
outputFileCompression |
La compresión del archivo de salida (opcional). El valor predeterminado para este parámetro es SNAPPY . Otros valores para el parámetro pueden ser UNCOMPRESSED , SNAPPY , GZIP o BZIP2 . BZIP2 no es compatible con archivos PARQUET . |
writeDisposition |
Opcional: Especifica la acción que se produce si ya existe un archivo de destino. El valor predeterminado de este parámetro es SKIP , que indica que se deben procesar únicamente los archivos que no existen en el directorio de destino. Otros valores para el parámetro pueden ser OVERWRITE (reemplaza los archivos existentes) o FAIL (no procesas nada y genera un error si ya existe al menos un archivo de destino). |
updateDataplexMetadata |
Opcional: Indica si se deben actualizar los metadatos de Dataplex para las
entidades recién creadas. El valor predeterminado para este parámetro es Si se habilita, la canalización copiará automáticamente el esquema de la fuente a las entidades de destino de Dataplex, y no se ejecutará el descubrimiento automatizado de Dataplex Discovery para ellas. Usa esta marca si Dataplex administra el esquema de los datos de origen (sin procesar). |
Ejecuta la plantilla
Console
En la consola de Google Cloud, ve a la página Dataplex:
Navega a la vista Process.
Haz clic en Crear tarea.
En Convertir en formatos seleccionados, haz clic en Crear tarea.
Elige un lake de Dataplex.
Proporciona un nombre para la tarea.
Elige una región para la ejecución de la tarea.
Completa los parámetros obligatorios.
Haz 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
La plantilla de Dataplex de BigQuery a Cloud Storage copia los datos de un recurso de BigQuery de Dataplex a uno de Cloud Storage de Dataplex en un diseño y formatos compatibles con Dataplex. Puedes especificar un conjunto de datos de BigQuery o una lista de tablas de BigQuery para copiar. Para mayor flexibilidad, la plantilla permite copiar datos anteriores a una fecha de modificación específica y, de manera opcional, borrar datos de BigQuery después de una copia exitosa.
Cuando copias tablas particionadas de BigQuery a Cloud Storage, la plantilla crea particiones de estilo Hive en el bucket de Cloud Storage. Cuando se escribe en Cloud Storage, la plantilla crea una clave de partición nueva agregando el sufijo _pid
a la columna de partición existente. Esto es necesario para acceder a los datos en BigQuery como una tabla externa. En la actualidad, BigQuery no puede hacer que la clave de partición de estilo Hive sea la misma que una columna existente. Como resultado, la tabla copiada, cuando se ve desde BigQuery como una tabla externa, tiene una columna adicional para la clave de partición. El resto de los datos se conservan tal como están.
Cuando copias tablas particionadas de BigQuery a Cloud Storage, sucede lo siguiente:
- La plantilla crea particiones de estilo Hive en el bucket de Cloud Storage.
Actualmente, BigQuery no puede hacer que la clave de partición de estilo Hive sea 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 se crea una tabla de BigQuery (y una tabla en Dataproc Metastore). Esto puede afectar tus 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 alrededor de 300. La cantidad exacta depende de la longitud de los nombres de las tablas y de otros factores.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
sourceBigQueryDataset |
El conjunto de datos de BigQuery desde el que se deben agrupar los datos. Este parámetro
debe contener un nombre de recurso de Dataplex en 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 que se almacenarán 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 los niveles (opcional). Si no se proporciona una lista, todas las tablas se dividirán en niveles. Las tablas deben especificarse solo por su nombre (sin prefijo de proyecto o conjunto de datos) y distinguen mayúsculas de minúsculas. |
exportDataModifiedBeforeDateTime |
Opcional: Usa este parámetro para transferir datos anteriores a esta fecha (y
una hora opcional). En las tablas particionadas de BigQuery, mueve las particiones que se modificaron por última vez antes de esta fecha o hora. En el caso de las tablas no particionadas, cambia si la tabla se modificó por última vez antes de esta fecha o hora. Si no
se especifica, mueve todas las tablas o particiones. La fecha y la hora se analizan en la zona horaria predeterminada de forma predeterminada, pero se admiten los sufijos opcionales Z y +HH:mm . Este parámetro debe seguir el formato YYYY-MM-DD , YYYY-MM-DDTHH:mm:ss o YYYY-MM-DDTHH:mm:ss+03:00 .
También se admite la fecha y hora relativas y debe seguir el formato -PnDTnHnMn.nS (debe comenzar con -P , que indica la hora del pasado).
|
fileFormat |
Opcional: El formato de archivo de salida en Cloud Storage. El valor predeterminado para este parámetro es PARQUET . Otro valor para el parámetro puede ser AVRO . |
fileCompression |
La compresión del archivo de salida (opcional). El valor predeterminado para este parámetro es SNAPPY . Otros valores para el parámetro pueden ser UNCOMPRESSED , SNAPPY , GZIP o BZIP2 . BZIP2 no es compatible con archivos PARQUET . |
deleteSourceData |
Opcional: Indica si se deben borrar los datos de origen de BigQuery
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 cuyo ID de partición coincida solo con esta expresión regular. Si no se proporciona un valor, el parámetro predeterminado procesa todo. |
writeDisposition |
Opcional: Especifica la acción que se produce si ya existe un archivo de destino, lo que significa que una o más tablas o particiones ya se asignaron de nivel previo. El valor predeterminado de este parámetro es SKIP , lo que indica que se deben procesar únicamente las tablas o particiones que aún no estaban niveladas con anterioridad. Otros valores para el parámetro pueden ser OVERWRITE (reemplaza los archivos existentes) o FAIL (no procesas 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 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 el nombre de la columna de partición original y se cambia el nombre de la columna en el archivo. Si es falso, se cambia el nombre de la clave de partición. Por ejemplo, si la tabla original está particionada en una columna llamada Si es |
updateDataplexMetadata |
Opcional: Indica si se deben actualizar los metadatos de Dataplex para las
entidades recién creadas. El valor predeterminado para este parámetro es Si se habilita, la canalización copiará automáticamente el esquema de la fuente a las entidades de destino de Dataplex, y no se ejecutará el descubrimiento automatizado de Dataplex Discovery para ellas. Usa esta marca si administras el esquema de las tablas de origen de BigQuery. |
Ejecuta la plantilla
Console
En la consola de Google Cloud, ve a la página Dataplex:
Navega a la vista Process.
Haz clic en Crear tarea.
En Tier from BQ to GCS Assets, haz clic en Create task.
Elige un lake de Dataplex.
Proporciona un nombre para la tarea.
Elige una región para la ejecución de la tarea.
Completa los parámetros obligatorios.
Haz 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 las plantillas de Dataflow proporcionadas por Google Cloud o tu plantilla personalizada de Dataflow en la consola.
Programa
Console
En la consola de Google Cloud, ve a la página Dataplex:
Navega a la vista Process.
Haz clic en Crear tarea.
En Crea una canalización de Dataflow, haz clic en Crear canalización de Dataflow.
Elige un lake de Dataplex.
Proporciona un nombre para la tarea.
Elige una región para la que se ejecutará la tarea.
Elige una plantilla de Dataflow.
Completa los parámetros obligatorios.
Haz clic en Continuar.
Supervisar
Console
En la consola de Google Cloud, ve a la página Dataplex:
Navega a la vista Process.
Haz clic en Dataflow Pipelines.
Filtra por nombre de lake o de canalización.