En esta guía se explica cómo habilitar y usar la función de descubrimiento de Dataplex Universal Catalog. Descubre, extrae metadatos de los datos de un lago de datos y los registra en Dataproc Metastore, BigQuery y Data Catalog (obsoleto) para analizarlos, buscarlos y explorarlos.
Información general
Por cada recurso de Dataplex Universal Catalog con la función Discovery habilitada, Dataplex Universal Catalog hace lo siguiente:
- Analiza los datos asociados al recurso.
- Agrupa los archivos estructurados y semiestructurados en tablas.
- Recoge metadatos técnicos, como el nombre de la tabla, el esquema y la definición de la partición.
En el caso de los datos sin estructurar, como imágenes y vídeos, la función de descubrimiento de Dataplex Universal Catalog detecta y registra automáticamente grupos de archivos que comparten el mismo tipo de contenido multimedia como conjuntos de archivos. Por ejemplo, si gs://images/group1
contiene imágenes GIF y gs://images/group2
contiene imágenes JPEG, Dataplex Universal Catalog Discovery detecta y registra dos conjuntos de archivos. En el caso de los datos estructurados, como Avro, Discovery solo detecta los archivos si se encuentran en carpetas que contienen el mismo formato de datos y el mismo esquema.
Las tablas y los conjuntos de archivos detectados se registran en Data Catalog para que se puedan buscar y descubrir. Las tablas aparecen en Dataproc Metastore como tablas de estilo Hive y en BigQuery como tablas externas, de modo que los datos se ponen a disposición automáticamente para su análisis.
Discovery admite los siguientes formatos de datos estructurados y semiestructurados:
- Parquet
- Avro
- ORC
- JSON (solo el formato delimitado por líneas nuevas)
- CSV (no se admiten archivos CSV con filas de comentarios).
Discovery admite el siguiente formato de compresión para datos estructurados y semiestructurados:
Compresión interna de estos formatos:
Compresión Ejemplo de extensión de archivo Formato admitido gzip .gz.parquet Parquet lz4 .lz4.parquet Parquet Snappy .snappy.parquet Parquet, ORC y Avro lzo .lzo.parquet Parquet, ORC Compresión externa de archivos JSON y CSV:
- gzip
- bzip2
Configuración de Discovery
El descubrimiento está habilitado de forma predeterminada cuando creas una zona o un recurso. Puedes inhabilitar Discovery a nivel de zona o de recurso.
Cuando creas una zona o un recurso, puedes heredar los ajustes de Discovery a nivel de zona o anularlos a nivel de recurso.
Estas son las opciones de configuración de Discovery disponibles a nivel de zona y de recurso:
Activación y desactivación de la visibilidad
Programación de descubrimiento: esta opción se puede definir como una programación predefinida (por ejemplo, por horas o por días) o como una programación personalizada definida por el formato cron. Los recursos nuevos se analizan cuando se añaden. Para obtener más información, consulta Configurar programaciones cron. Recomendación: programa Discovery para que se ejecute con frecuencia (cada hora o menos).
Patrón de inclusión o exclusión: define qué archivos se incluirán o excluirán de los análisis de descubrimiento mediante patrones glob en la ruta de inclusión o exclusión. Por ejemplo, si quieres excluir
gs://test_bucket/foo/..
de la detección, introduce**/foo/*
como ruta de exclusión. Las comillas provocan errores. Asegúrate de introducir**/foo/*
en lugar de"**/foo/*"
). Esta función solo está disponible para los recursos de Cloud Storage. Si hay patrones de inclusión y exclusión al mismo tiempo, los patrones de exclusión se aplican primero.Especificaciones JSON o CSV: le permiten proporcionar información adicional sobre datos semiestructurados, como CSV y JSON, para mejorar la precisión de los resultados de Discovery.
En el caso de los archivos CSV, puedes proporcionar cualquiera de los siguientes datos:
Delimitador: este campo acepta un carácter, excepto
\r
y\n
. Si se proporciona más de un carácter, solo se usará el primero de la cadena. Si no se proporciona, Discovery usa una coma como delimitador.Número de filas de encabezado: este campo acepta el valor
0
o1
. El valor predeterminado es0
. Cuando el valor es0
, Discovery realiza una inferencia de encabezado y, si se detecta un encabezado, Discovery extrae los nombres de las columnas del encabezado y restablece el valor a1
.Codificación: este campo acepta nombres de codificación de cadenas, como
UTF-8
,US-ASCII
oISO-8859-1
. Si no se especifica nada, se usaUTF-8
como valor predeterminado.Inhabilitar la inferencia de tipos: este campo acepta un valor booleano. Esta opción está activada (
false
) de forma predeterminada. En el caso de los datos CSV, si inhabilita la inferencia de tipos, todas las columnas se registrarán como cadenas.
En el caso de los archivos JSON, puede proporcionar cualquiera de los siguientes elementos:
Codificación: este campo acepta nombres de codificación de cadenas, como
UTF-8
,US-ASCII
oISO-8859-1
. Si no se especifica nada, se usaUTF-8
como valor predeterminado.Inhabilitar la inferencia del tipo de datos: este campo acepta un valor booleano. Esta opción está activada (
false
) de forma predeterminada. En el caso de los datos JSON, si inhabilitas la inferencia de tipos, todas las columnas se registrarán como sus tipos primitivos (cadena, número o booleano).
Publicar metadatos
Cuando creas una zona de datos en tu lago de Dataplex Universal Catalog, Dataplex Universal Catalog crea un conjunto de datos de BigQuery en el proyecto que contiene el lago. Dataplex Universal Catalog publica tablas en ese conjunto de datos para las tablas descubiertas en los segmentos de Cloud Storage añadidos a la zona de datos como recursos. El conjunto de datos se denomina conjunto de datos de publicación de metadatos correspondiente a la zona.
Cada zona de datos de Dataplex Universal Catalog se asigna a un conjunto de datos de BigQuery o a una base de datos de Dataproc Metastore, donde la información de los metadatos se pone a disposición automáticamente.
Puedes editar los metadatos detectados automáticamente, como el nombre o el esquema de la tabla, mediante la API de Dataplex.
Ver tablas y archivos descubiertos
Puede buscar tablas y conjuntos de archivos detectados en la vista Búsqueda de Dataplex Universal Catalog en la consola de Google Cloud .
Para obtener resultados de búsqueda más precisos, usa filtros específicos de Dataplex Universal Catalog, como los nombres de lagos y zonas de datos. En la lista de filtros se muestran los 50 elementos principales por faceta. Puedes encontrar cualquier otro elemento con el cuadro de búsqueda.
Cada entrada contiene metadatos técnicos y operativos detallados.
En la página de detalles de la entrada, puede consultar la tabla en BigQuery y ver los detalles de registro de Dataproc Metastore correspondientes.
Si una tabla de Cloud Storage se puede publicar en BigQuery como tabla externa, en la vista de detalles de la entrada se mostrará lo siguiente:
- Referencias de tablas externas de BigQuery
- Un botón para Abrir en BigQuery y empezar a analizar los datos en BigQuery
Las entradas de metadatos de Dataplex Universal Catalog se pueden ver y buscar directamente en Data Catalog. Para obtener más información, consulta la referencia de búsqueda de Data Catalog.
Todas las entradas descubiertas se pueden ver a través de la API Dataplex.
Acciones de descubrimiento
Discovery lleva a cabo las siguientes acciones de administrador cuando se detectan problemas relacionados con los datos durante los análisis.
Formato de datos no válido
Entre las acciones se incluyen las siguientes:
Formato de datos incoherente en una tabla. Por ejemplo, hay archivos de diferentes formatos con el mismo prefijo de tabla.
Formato de datos no válido en zonas seleccionadas (los datos no están en formato Avro, Parquet u ORC).
Esquema incompatible
Entre las acciones se incluyen las siguientes:
Un esquema detectado por Discovery no es compatible con el esquema de tabla activo de la API de metadatos de Dataproc Metastore. El esquema A y el esquema B no son compatibles en los siguientes casos:
A y B comparten campos con el mismo nombre, pero con tipos de datos diferentes e incompatibles. Por ejemplo, cadena y entero.
A y B no tienen campos que se solapen.
A y B tienen al menos un campo no aceptable que no se encuentra en el otro esquema.
Desviación del esquema con respecto a un esquema gestionado por el usuario en la zona curada.
Definición de partición no válida
Entre las acciones se incluyen las siguientes:
Los nombres de las particiones no son coherentes. Por ejemplo,
gs://sales_data/year=2020/month=10/day=01
ygs://sales_data/year=2020/region=us
.Nombres de particiones que no siguen el estilo de Hive en la zona de datos curados. Por ejemplo,
gs://sales_data/2020/10/01
en lugar degs://sales_data/year=2020/month=10/day=01
.
Faltan datos
Entre las acciones se incluyen las siguientes:
- En la zona de datos curados, los datos subyacentes de una tabla o un conjunto de archivos registrados ya no existen. Es decir, se ha descubierto y registrado una tabla o un conjunto de archivos de una zona seleccionada, pero posteriormente se han eliminado los datos subyacentes. Para solucionar este problema, puedes rellenar los datos o eliminar la entrada de metadatos.
Resolver acciones de Discovery
Los datos con acciones se comprueban en análisis de Discovery posteriores. Cuando se solucione el problema que ha activado la acción, esta se resolverá automáticamente en el siguiente análisis de Discovery programado.
Otras acciones de Discovery
Además de las acciones de descubrimiento anteriores, hay otros tres tipos de acciones relacionadas con el estado de los recursos y las propagaciones de políticas de seguridad en Dataplex Universal Catalog.
Falta el recurso: no se ha encontrado el bucket o el conjunto de datos subyacente correspondiente a un recurso.
Recurso no autorizado: Dataplex Universal Catalog no tiene permisos suficientes para realizar el descubrimiento o aplicar políticas de seguridad al bucket o al conjunto de datos gestionados por Dataplex Universal Catalog.
Problemas con la propagación de políticas de seguridad: las políticas de seguridad especificadas para un lago, una zona o un recurso determinados no se han podido propagar correctamente a los contenedores o conjuntos de datos subyacentes. Mientras que todas las demás acciones se realizan a nivel de recurso, este tipo de acción se puede llevar a cabo a nivel de lago, zona y recurso.
Estos tipos de acciones se resuelven automáticamente cuando se corrigen los problemas de configuración de seguridad o de recursos subyacentes.
Preguntas frecuentes
¿Qué debo hacer si el esquema inferido por Discovery es incorrecto?
Si el esquema inferido es diferente del esperado para una tabla determinada, puede anularlo actualizando los metadatos mediante la API Metadata.
Asegúrate de definir
userManaged
en true
para que tu edición no se sobrescriba en análisis de descubrimiento posteriores.
¿Cómo excluyo archivos de un análisis de Discovery?
De forma predeterminada, Discovery excluye ciertos tipos de archivos del análisis, incluidos los siguientes:
_SUCCESS
_started
_committed
_metadata
,_METADATA
,_Metadata
_common_metadata
,_COMMON_METADATA
- Archivos que empiezan por
README
oreadme
- Directorios que empiezan por
base_
,delta_
,delete_delta_
,bucket_
seguido de un número - Directorios que empiezan por
.
Puede especificar patrones de inclusión o exclusión adicionales mediante la configuración de Discovery a nivel de zona o de recurso, o bien mediante la API Metadata.
¿Qué debo hacer si la agrupación de tablas detectada por Discovery es demasiado granular?
Si las tablas detectadas por Discovery están en un nivel más granular en comparación con la ruta raíz de la tabla (por ejemplo, si cada partición individual se registra como una tabla), puede deberse a varios motivos:
Hay diferencias de formato, como una combinación de archivos Avro y Parquet, en la ruta raíz de la tabla esperada, que dividen la tabla en agrupaciones más pequeñas.
Hay diferentes tipos de incompatibilidades de esquema en la ruta raíz de la tabla esperada, que dividen la tabla en agrupaciones más pequeñas.
Puede resolver este problema de cualquiera de las siguientes formas:
Corrija las diferencias de formato o de esquema para que todos los archivos de la misma ruta raíz de la tabla tengan un formato coherente y un esquema compatible.
Excluya archivos heterogéneos mediante la configuración de patrones de exclusión como parte de la configuración de la zona o del recurso, o de la API de metadatos.
Después de tomar una de las medidas correctivas, en el siguiente análisis de detección, ocurrirá lo siguiente:
- Las tablas de nivel inferior se eliminan automáticamente de la API Dataplex, BigQuery, Dataproc Metastore y Data Catalog.
- En su lugar, se crea una tabla de nivel superior con la ruta raíz de la tabla esperada.
¿Cómo especifico los nombres de las tablas?
Puede especificar nombres de tabla mediante la API de metadatos.
¿Qué ocurre si creo tablas manualmente en Dataproc Metastore o BigQuery?
Cuando Discovery está habilitado en un recurso, no es necesario registrar manualmente las entradas en Dataproc Metastore ni en BigQuery.
Puedes definir manualmente el nombre de la tabla, el esquema y las definiciones de partición, mientras desactivas la función de detección de Universal Catalog de Dataplex. También puedes hacer lo siguiente:
- Crea una tabla especificando solo la información necesaria, como la ruta raíz de la tabla.
- Usa Dataplex Universal Catalog Discovery para rellenar el resto de los metadatos, como las definiciones de esquema y partición.
- Mantén los metadatos actualizados.
¿Qué debo hacer si mi tabla no aparece en BigQuery?
Aunque los metadatos del catálogo universal de Dataplex se registran de forma centralizada en la API de metadatos, solo las tablas de Cloud Storage que son compatibles con BigQuery se publican en BigQuery como tablas externas. Como parte de los detalles de la entrada de la tabla en la API de metadatos, puede encontrar un marcador de compatibilidad con BigQuery que indica qué entidades se publican en BigQuery y por qué.
Limitaciones
- Discovery no admite tablas externas, incluidas las tablas externas de BigLake. Sin embargo, las tablas externas se ingieren automáticamente en Dataplex Universal Catalog y puedes buscarlas en Dataplex Universal Catalog.
Siguientes pasos
- Consulta cómo trabajar con metadatos.