Datos descubiertos

En esta guía, se explica cómo habilitar y usar el descubrimiento de Dataplex Universal Catalog. Discovery analiza y extrae metadatos de los datos en un data lake, y los registra en Dataproc Metastore, BigQuery y Data Catalog (obsoleto) para su análisis, búsqueda y exploración.

Para obtener más información sobre cómo puedes usar el descubrimiento automático para extraer y, luego, catalogar los datos de Cloud Storage que no están adjuntos a un lago, consulta Descubre y cataloga datos de Cloud Storage.

Descripción general

Para cada recurso de Dataplex Universal Catalog con la detección habilitada, Dataplex Universal Catalog hace lo siguiente:

  • Analiza los datos asociados con el activo.
  • Agrupa los archivos estructurados y semiestructurados en tablas.
  • Recopila metadatos técnicos, como el nombre de la tabla, el esquema y la definición de partición.

En el caso de los datos no estructurados, como imágenes y videos, el descubrimiento de Dataplex Universal Catalog detecta y registra automáticamente grupos de archivos que comparten el tipo de medio 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 detecta los archivos solo si se encuentran en carpetas que contienen el mismo formato y esquema de datos.

Las tablas y los conjuntos de archivos descubiertos se registran en Data Catalog para su búsqueda y descubrimiento. Las tablas aparecen en Dataproc Metastore como tablas de estilo Hive y en BigQuery como tablas externas, de modo que los datos estén disponibles automáticamente para el análisis.

Discovery admite los siguientes formatos de datos estructurados y semiestructurados:

Discovery admite el siguiente formato de compresión para los datos estructurados y semiestructurados:

  • Compresión interna para estos formatos:

    Compresión Muestra de extensión de archivo Formato compatible:
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Snappy .snappy.parquet Parquet, ORC y Avro
    lzo .lzo.parquet Parquet y ORC
  • Compresión externa para archivos JSON y CSV:

    • gzip
    • bzip2

Configuración de detección

El descubrimiento está habilitado de forma predeterminada cuando creas una zona o un activo nuevos. Puedes inhabilitar Discovery a nivel de la zona o del activo.

Cuando creas una zona o un activo, puedes optar por heredar la configuración del Descubrimiento a nivel de la zona o anularla a nivel del activo.

Estas son las opciones de configuración de Discovery disponibles a nivel de la zona y del activo:

  • Activado y desactivado

  • Discovery schedule: Esta opción se puede establecer en un programa predefinido (por ejemplo, por hora o por día) o en un programa personalizado definido por el formato cron. Los activos nuevos se analizan cuando se agregan. Para obtener más información, consulta Configura programas de cron. Recomendación: Programa el descubrimiento para que se ejecute cada hora o con menor frecuencia.

  • Patrón de inclusión o exclusión: Define qué archivos se incluirán o excluirán de los análisis de descubrimiento con patrones glob en la ruta de inclusión o exclusión. Por ejemplo, si deseas excluir gs://test_bucket/foo/.. del descubrimiento, ingresa **/foo/* como la ruta de exclusión. Las comillas causan errores. Asegúrate de ingresar **/foo/* en lugar de "**/foo/*"). Esta función solo está disponible para los recursos de Cloud Storage. Cuando existen patrones de inclusión y exclusión al mismo tiempo, se aplican primero los patrones de exclusión.

  • Especificaciones de JSON o CSV: Te permiten proporcionar información adicional sobre los datos semiestructurados, como CSV y JSON, para mejorar la precisión de los resultados del Descubrimiento.

    • En el caso de los archivos CSV, puedes proporcionar cualquiera de los siguientes elementos:

      • 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.

      • Cantidad de filas de encabezado: Este campo acepta el valor 0 o 1. El valor predeterminado es 0. Cuando el valor es 0, Discovery realiza la inferencia de encabezado y, si se detecta un encabezado, extrae los nombres de las columnas del encabezado y restablece el valor a 1.

      • Codificación: Este campo acepta nombres de codificación de cadenas, como UTF-8, US-ASCII o ISO-8859-1. Si no se especifica nada, se usa UTF-8 como valor predeterminado.

      • Inhabilitar la inferencia de tipos: Este campo acepta un valor booleano. Se establece en false de forma predeterminada. En el caso de los datos CSV, si inhabilitas la inferencia de tipos, todas las columnas se registrarán como cadenas.

    • En el caso de los archivos JSON, puedes proporcionar cualquiera de los siguientes elementos:

      • Codificación: Este campo acepta nombres de codificación de cadenas, como UTF-8, US-ASCII o ISO-8859-1. Si no se especifica nada, se usa UTF-8 como valor predeterminado.

      • Inhabilita la inferencia de tipos de datos: Este campo acepta un valor booleano. Se establece en 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).

Publica metadatos

Cuando creas una zona de datos en tu lake de Dataplex Universal Catalog, Dataplex Universal Catalog crea un conjunto de datos de BigQuery en el proyecto que contiene el lake. Dataplex Universal Catalog publica tablas en ese conjunto de datos para las tablas descubiertas en los buckets de Cloud Storage agregados a la zona de datos como recursos. El conjunto de datos se conoce como un 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 en BigQuery o a una base de datos en Dataproc Metastore, donde la información de metadatos está disponible automáticamente.

Puedes editar los metadatos detectados automáticamente, como el nombre o el esquema de la tabla, con la API de Dataplex.

Cómo ver los archivos y las tablas detectados

Puedes buscar tablas y conjuntos de archivos descubiertos en la vista Búsqueda de Dataplex Universal Catalog en la consola de Google Cloud .

Abrir la búsqueda

Para obtener resultados de búsqueda más precisos, usa filtros específicos de Dataplex Universal Catalog, como los nombres del lake y la zona de datos. En la lista de filtros, se muestran los 50 elementos principales por faceta. Puedes encontrar elementos adicionales con el cuadro de búsqueda.

Cada entrada contiene metadatos técnicos y operativos detallados.

En la página de detalles de la entrada, puedes consultar la tabla en BigQuery y ver los detalles de registro correspondientes de Dataproc Metastore.

Si una tabla de Cloud Storage se puede publicar en BigQuery como una tabla externa, verás lo siguiente en la vista de detalles de la entrada:

  • Referencias de tablas externas de BigQuery
  • Un botón para Abrir en BigQuery y comenzar a analizar los datos en BigQuery

Las entradas de metadatos de Dataplex Universal Catalog son directamente visibles y se pueden buscar 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 de Dataplex.

Acciones de descubrimiento

Discovery sugiere las siguientes acciones del administrador cada vez que se detectan problemas relacionados con los datos durante los análisis.

Formato de datos no válido

Las acciones incluyen lo siguiente:

  • Formato de datos incoherente en una tabla Por ejemplo, existen archivos de diferentes formatos con el mismo prefijo de tabla.

  • Formato de datos no válido en las zonas seleccionadas (los datos no están en formatos Avro, Parquet ni ORC).

Esquema incompatible

Las acciones incluyen lo siguiente:

  • Un esquema detectado por Discovery es incompatible con el esquema de tabla activo en la API de metadatos en Dataproc Metastore. El esquema A y el esquema B son incompatibles en las siguientes situaciones:

    • A y B comparten campos con el mismo nombre, pero con tipos de datos diferentes e incompatibles. Por ejemplo, cadena y número entero.

    • A y B no tienen campos superpuestos.

    • A y B tienen al menos un campo no anulable que no se encuentra en el otro esquema.

  • Hay una discrepancia entre el esquema y un esquema administrado por el usuario en la zona seleccionada.

Definición de partición no válida

Las acciones incluyen lo siguiente:

  • Nombres de partición incoherentes Por ejemplo, gs://sales_data/year=2020/month=10/day=01 y gs://sales_data/year=2020/region=us.

  • Nombres de particiones sin estilo Hive en la zona de datos seleccionados. Por ejemplo, gs://sales_data/2020/10/01 en lugar de gs://sales_data/year=2020/month=10/day=01.

Faltan datos

Las acciones incluyen lo siguiente:

  • En la zona de datos seleccionados, ya no existen los datos subyacentes de una tabla o un conjunto de archivos registrados. En otras palabras, se descubrió y registró una tabla o un conjunto de archivos de zona seleccionados, pero, luego, se borraron sus datos subyacentes. Para solucionar este problema, puedes reponer los datos o borrar la entrada de metadatos.

Cómo resolver acciones de Discovery

Los análisis de descubrimiento posteriores verifican los datos con acciones. Cuando se corrige el problema que activa la acción, la acción se resuelve automáticamente con el siguiente análisis de Discovery programado.

Otras acciones de Discovery

Además de las acciones de Discovery anteriores, existen 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 encontró el bucket o el conjunto de datos subyacente correspondiente a un recurso existente.

  • 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 administrados por Dataplex Universal Catalog.

  • Problemas con la propagación de políticas de seguridad: No se pudieron propagar correctamente las políticas de seguridad especificadas para un lake, una zona o un recurso determinados a los buckets o conjuntos de datos subyacentes. Si bien todas las demás acciones se realizan a nivel del recurso, este tipo de acción se puede plantear a nivel del lago, la zona y el recurso.

Estos tipos de acciones se resuelven automáticamente cuando se corrigen los problemas subyacentes de configuración de seguridad o de recursos.

Preguntas frecuentes

¿Qué debo hacer si el esquema que infiere el Descubrimiento es incorrecto?

Si el esquema inferido es diferente del que se espera para una tabla determinada, puedes anularlo actualizando los metadatos con la API de metadatos. Asegúrate de establecer userManaged en true para que tu edición no se sobrescriba en los análisis posteriores de Discovery.

¿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 comienzan con README o readme
  • Directorios que comienzan con base_, delta_, delete_delta_, bucket_, seguidos de un número
  • Directorios que comienzan con .

Puedes especificar patrones adicionales de inclusión o exclusión con la configuración de Discovery a nivel de la zona o del activo, o bien con la API de metadatos.

¿Qué debo hacer si la agrupación de tablas que detecta Discovery es demasiado detallada?

Si las tablas que detecta Discovery se encuentran en un nivel más detallado en comparación con la ruta raíz de la tabla (por ejemplo, cada partición individual se registra como una tabla), podría haber varios motivos:

  • Existen 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.

  • Existen 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.

Puedes resolver este problema de una de las siguientes maneras:

  • Corrige las diferencias de formato o esquema para que todos los archivos de la misma ruta raíz de la tabla tengan un formato coherente y un esquema compatible.

  • Excluye archivos heterogéneos con la configuración del patrón de exclusión como parte de la zona, la configuración de recursos o la API de metadatos.

Después de que tomes una de las medidas correctivas, en el siguiente análisis de descubrimiento, ocurrirá lo siguiente:

  • Las tablas existentes de nivel inferior se quitan automáticamente de la API de Dataplex, BigQuery, Dataproc Metastore y Data Catalog.
  • En su lugar, se crea una nueva tabla de nivel superior con la ruta raíz de la tabla esperada.

¿Cómo especifico los nombres de las tablas?

Puedes especificar nombres de tablas con la API de metadatos.

¿Qué sucede si creo tablas de forma manual en Dataproc Metastore o BigQuery?

Cuando la detección está habilitada para un recurso determinado, no es necesario que registres manualmente las entradas en Dataproc Metastore ni en BigQuery.

Puedes definir manualmente el nombre, el esquema y las definiciones de partición de la tabla, mientras desactivas el descubrimiento de Dataplex Universal Catalog. También puedes hacer lo siguiente:

  1. Crea una tabla especificando solo la información obligatoria, como la ruta raíz de la tabla.
  2. Usa Dataplex Universal Catalog Discovery para completar el resto de los metadatos, como las definiciones de esquema y partición.
  3. Mantén actualizados los metadatos.

¿Qué debo hacer si mi tabla no aparece en BigQuery?

Si bien 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 entrada de la tabla en la API de metadatos, puedes 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 transfieren automáticamente a Dataplex Universal Catalog, por lo que puedes buscarlas en Dataplex Universal Catalog.

¿Qué sigue?

  • Obtén información para trabajar con metadatos.