Knowledge Catalog (anteriormente, Dataplex Universal Catalog) proporciona plantillas potenciadas por Dataflow para realizar tareas comunes de procesamiento de datos, como la transferencia de datos, 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 Knowledge Catalog funcionan con Dataflow. Antes de usar plantillas, habilita las APIs de Dataflow.
Ten en cuenta lo siguiente:
Todas las plantillas admiten las opciones de canalización de Dataflow comunes.
Knowledge Catalog usa canalizaciones de datos para programar las tareas definidas por las plantillas.
Solo puedes ver las tareas que programas a través de Knowledge Catalog en la consola de Google Cloud en la página Knowledge Catalog.
Plantilla: Convierte datos sin procesar en datos seleccionados
La plantilla de conversión de formato de archivo de Knowledge Catalog convierte los datos de un activo de Knowledge Catalog de Cloud Storage o de una lista de entidades de Knowledge Catalog almacenadas en formatos CSV o JSON a datos en formato Parquet o Avro en otro activo de Knowledge 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 la plantilla
| Parámetro | Descripción |
|---|---|
inputAssetOrEntitiesList |
Es el recurso o las entidades de Knowledge Catalog 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 |
Es el formato del archivo de salida en Cloud Storage. Este parámetro debe seguir el formato PARQUET o AVRO. |
outputAsset |
Es el nombre del activo de Knowledge Catalog 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 Knowledge Catalog. |
outputFileCompression |
Opcional: Es la compresión del archivo de salida. 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 los archivos PARQUET. |
writeDisposition |
Opcional: Especifica la acción que ocurre si ya existe un archivo de destino. El valor predeterminado de este parámetro es SKIP, que indica que solo se procesen 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 procesa nada y produce un error si ya existe al menos un archivo de destino). |
updateDataplexMetadata |
Opcional: Indica si se deben actualizar los metadatos de Knowledge Catalog para las entidades creadas recientemente. El valor predeterminado para este parámetro es Si está habilitado, la canalización copiará automáticamente el esquema de las entidades de Knowledge Catalog de origen a las de destino, y no se ejecutará el descubrimiento automatizado de Knowledge Catalog para ellas. Usa esta marca si Knowledge Catalog administra el esquema de los datos fuente (sin procesar). |
Ejecuta la plantilla
Console
En la consola de Google Cloud , ve a la página Proceso de Knowledge Catalog.
Haz clic en Crear tarea.
En Convertir en formatos seleccionados, haz clic en Crear tarea.
Elige un lake de Knowledge Catalog.
Proporciona un nombre de tarea.
Elige una región para la ejecución de la tarea.
Completa los parámetros obligatorios.
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
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 Knowledge 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",
}
}
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 Knowledge Catalog output asset ID
Plantilla: Transfiere datos de un recurso de BigQuery a un recurso de Cloud Storage
La plantilla de Knowledge Catalog de BigQuery a Cloud Storage copia datos de un recurso de BigQuery de Knowledge Catalog a un recurso de Cloud Storage de Knowledge Catalog en un diseño y formato compatibles con Knowledge Catalog. Puedes especificar un conjunto de datos de BigQuery o una lista de tablas de BigQuery para copiarlos. Para mayor flexibilidad, la plantilla permite copiar datos anteriores a una fecha de modificación especificada y borrar de forma opcional datos de BigQuery después de una copia exitosa.
Cuando copias tablas particionadas de BigQuery a Cloud Storage, ten en cuenta lo siguiente:
- 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 igual a una columna existente. Puedes usar la opción
enforceSamePartitionKeypara crear una clave de partición nueva o conservar la misma, pero cambiar el nombre de la columna existente. - El descubrimiento de Knowledge Catalog registra el tipo de partición como
stringcuando 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 en la cantidad de tablas y particiones que se pueden transformar en una sola ejecución de la plantilla, que es de aproximadamente 300. La cantidad exacta depende de 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 desde el que se segmentarán los datos. Este parámetro debe contener el nombre de un activo de Knowledge Catalog 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 |
Nombre del activo de Knowledge Catalog para el bucket de Cloud Storage en el que se organizarán los datos por niveles. Este parámetro debe seguir el formato projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>. |
tables |
Opcional: Es una lista separada por comas de las tablas de BigQuery que se incluirán en el nivel. Si no se proporciona una lista, se asignarán niveles a todas las tablas. 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 hora opcional). En el caso de las tablas particionadas de BigQuery, mueve las particiones que se modificaron por última vez antes de esta fecha y hora. En el caso de las tablas no particionadas, se mueve si la tabla se modificó por última vez antes de esta fecha y hora. Si no se especifica, se mueven todas las tablas o particiones. De forma predeterminada, la fecha y hora se analizan en la zona horaria predeterminada, pero se admiten 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: Es el formato del archivo de salida en Cloud Storage. El valor predeterminado de este parámetro es PARQUET. Otro valor para el parámetro puede ser AVRO. |
fileCompression |
Opcional: Es la compresión del archivo de salida. 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 los 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: Solo se procesan las particiones con un ID de partición que coincida con esta expresión regular. Si no se proporciona ningún valor, el valor predeterminado de este parámetro es procesar todo. |
writeDisposition |
Opcional: Especifica la acción que ocurre si ya existe un archivo de destino, lo que significa que ya se clasificaron previamente una o más tablas o particiones. El valor predeterminado para este parámetro es SKIP, que indica que solo se deben procesar las tablas o particiones que aún no se segmentaron previamente. Otros valores para el parámetro pueden ser OVERWRITE (reemplaza los archivos existentes) o FAIL (no procesa nada y produce 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 al 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 Knowledge Catalog para las entidades creadas recientemente. El valor predeterminado para este parámetro es Si está habilitado, la canalización copiará automáticamente el esquema de las entidades de origen a las de destino de Dataplex, y no se ejecutará el descubrimiento automatizado de Knowledge Catalog para ellas. Usa esta marca si administras el esquema de las tablas de BigQuery de origen. |
Ejecuta la plantilla
Console
En la consola de Google Cloud , ve a la página Proceso de Knowledge Catalog.
Haz clic en Crear tarea.
En Ordenar en niveles de elementos de BQ a GCS, haz clic en Crear tarea.
Elige un lake de Knowledge Catalog.
Proporciona un nombre de tarea.
Elige una región para la ejecución de la tarea.
Completa los parámetros obligatorios.
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
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 Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge 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",
}
}
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 Knowledge Catalog asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Knowledge Catalog asset name for the destination Cloud Storage bucket REGION_NAME: region in which to run the job
Programar otras plantillas de Dataflow personalizadas o proporcionadas por Google Cloud
Knowledge Catalog te permite programar y supervisar cualquiera de las plantillas de Dataflow proporcionadas porGoogle Cloudo tu plantilla personalizada de Dataflow en la consola.
Programar
Console
En la consola de Google Cloud , ve a la página Proceso de Knowledge Catalog.
Haz clic en Crear tarea.
En Crea una canalización de Dataflow, haz clic en Crear canalización de Dataflow.
Elige un lake de Knowledge Catalog.
Proporciona un nombre de tarea.
Elige una región para 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 Proceso de Knowledge Catalog.
Haz clic en Canalizaciones de Dataflow.
Filtrar por nombre de la canalización o el lago