Gestionar metadatos de lagos, zonas y recursos

En esta guía se describen los metadatos de Dataplex Universal Catalog para lagos, zonas y recursos, así como la forma de usar la API de Dataplex para gestionarlos.

Información general

Dataplex Universal Catalog analiza lo siguiente:

  • Activos de datos estructurados y semiestructurados en lagos de datos para extraer metadatos de tablas en entidades de tabla
  • Datos no estructurados, como imágenes y textos, para extraer metadatos de conjuntos de archivos en entidades de conjuntos de archivos

Puedes usar la API de metadatos de Dataplex Universal Catalog para hacer lo siguiente:

  • Ver, editar y eliminar metadatos de entidades de tablas y conjuntos de archivos
  • Crear metadatos de entidades de tabla o de conjunto de archivos

Puede analizar los metadatos de Dataplex Universal Catalog de las siguientes formas:

  • Data Catalog (obsoleto) para buscar y etiquetar
  • Dataproc Metastore y BigQuery para consultar metadatos de tablas y procesar analíticas

API de Dataplex

En esta sección se resumen los recursos de lagos, zonas y recursos de la API Dataplex, así como los recursos clave asociados.

API del plano de control

La API del plano de control de Dataplex Universal Catalog permite crear y gestionar los recursos de lagos, zonas y recursos.

  • Lago: una instancia del servicio Dataplex Universal Catalog que permite gestionar recursos de almacenamiento en proyectos de una organización.

  • Zona: agrupación lógica de recursos de un lago. Usa varias zonas en un lago para organizar los datos en función de su preparación, carga de trabajo o estructura de la organización.

  • Recursos: recursos de almacenamiento con datos almacenados en segmentos de Cloud Storage o conjuntos de datos de BigQuery que están asociados a una zona de un lago.

API Metadata

Usa la API de metadatos de Dataplex Universal Catalog para crear y gestionar metadatos en entidades de tabla y de conjunto de archivos, así como en particiones. Dataplex Universal Catalog analiza los recursos de datos, ya sea en un lago o proporcionados por ti, para crear entidades y particiones. Las entidades y las particiones mantienen referencias a los recursos asociados y a las ubicaciones de almacenamiento físico.

Conceptos clave

Entidad de tabla:

Metadatos de datos estructurados con esquemas bien definidos. Las entidades de tabla se identifican de forma única por el ID de entidad y la ubicación de los datos. Los metadatos de las entidades de tabla se pueden consultar en BigQuery y Dataproc Metastore:

  • Objetos de Cloud Storage: metadatos de objetos de Cloud Storage, a los que se accede a través de las APIs de Cloud Storage.
  • Tablas de BigQuery: metadatos de las tablas de BigQuery, a los que se accede a través de las APIs de BigQuery.
Entidad Fileset:

Metadatos sobre datos sin estructurar, normalmente sin esquema. Los conjuntos de archivos se identifican de forma única por el ID de entidad y la ubicación de los datos. Cada conjunto de archivos tiene un formato de datos.

Particiones:

Metadatos de un subconjunto de datos de una tabla o una entidad de conjunto de archivos, identificados por un conjunto de pares clave-valor y una ubicación de datos.

Prueba la API

Consulta las páginas de referencia de las APIs lakes.zones.entities y lakes.zones.partitions de Dataplex Universal Catalog para ver los parámetros y los campos asociados a cada API. Usa el panel Probar esta API que acompaña a la documentación de referencia de cada método de la API para hacer solicitudes a la API con diferentes parámetros y campos. Puedes crear, ver y enviar tus solicitudes sin tener que generar credenciales y, después, ver las respuestas devueltas por el servicio.

En las siguientes secciones se proporciona información para ayudarte a entender y usar las APIs de metadatos de Universal Catalog de Dataplex.

Entidades

Mostrar entidades

Para limitar la lista de entidades devueltas por el servicio, añade parámetros de consulta filter a la URL de la solicitud list entities.

Obtener entidad

De forma predeterminada, la respuesta Get Entity contiene metadatos básicos de la entidad. Para obtener metadatos de esquema adicionales, añade el parámetro de consulta view a la URL de la solicitud.

Detalles de compatibilidad: aunque los metadatos del catálogo universal de Dataplex se registran de forma centralizada en la API de metadatos, solo se publican en BigQuery y Dataproc Metastore los metadatos de las tablas de entidades que son compatibles con BigQuery y Apache Hive Metastore. La API Get Entity devuelve un mensaje CompatibilityStatus que indica si los metadatos de la tabla son compatibles con BigQuery y Hive Metastore. Si no lo son, se indica el motivo de la incompatibilidad.

Actualizar entidad

Usa esta API para editar los metadatos de las entidades, incluido si tú o Dataplex Universal Catalog gestionará los metadatos de las entidades.

  • Esta API sustituye por completo todos los campos mutables Entity. Los siguientes campos de Entity son inmutables y, si los especifica en una solicitud de actualización, se ignorarán:
  • Especifica un valor para todos los campos de entidad mutables, incluidos todos los campos del esquema, aunque no se cambien los valores.
  • Indica el campo etag. Para obtener el etag, primero debes enviar una solicitud entities.get, que devuelve el etag de la entidad en la respuesta.
  • Actualizar campos de esquema: puedes actualizar el esquema de la tabla descubierto por Dataplex Universal Catalog para mejorar su precisión:
    • Si el esquema es un conjunto de archivos, deja todos los campos de esquema vacíos.
    • Para definir un campo repetido, asigna el valor REPEATED a mode. Para definir un campo de struct, asigna el valor RECORD al tipo.
    • Puedes definir el campo userManaged del esquema para especificar si tú o Dataplex Universal Catalog gestionáis los metadatos de la tabla. La opción predeterminada es gestionado por Dataplex Universal Catalog. Si userManaged tiene el valor true, este ajuste se incluye en la información devuelta de una solicitud entities.get si EntityView tiene el valor SCHEMA o FULL.
  • Actualizar campos de partición:
    • En el caso de los datos particionados que no siguen el estilo de Hive, la función de descubrimiento de Dataplex Universal Catalog genera automáticamente claves de partición. Por ejemplo, para la ruta de datos gs://root/2020/12/31, se generan las claves de partición p0, p1 y p2. Para que las consultas sean más intuitivas, puedes cambiar p0, p1 y p2 por year, month y day, respectivamente.
    • Si actualizas el estilo de partición a Estilo HIVE, el campo de partición no se puede modificar.
  • Actualizar otros campos de metadatos: puede actualizar los campos mimeType, CompressionFormat, CsvOptions y JsonOptions generados automáticamente para facilitar la detección del catálogo universal de Dataplex. El descubrimiento de Dataplex Universal Catalog usará los nuevos valores en su próxima ejecución.

Crear entidad

Usa la API entities.create para crear entidades de metadatos de tablas o conjuntos de archivos. Rellena los campos obligatorios y los opcionales pertinentes, o deja que el servicio de descubrimiento de Universal Catalog de Dataplex rellene los campos opcionales.

Eliminar entidad

  • Indica el campo etag. Para obtener el etag, primero debes enviar una solicitud entities.get, que devuelve el etag de la entidad en la respuesta.

Si se eliminan los datos subyacentes de una tabla o un conjunto de archivos de una zona sin procesar, los metadatos de la tabla o del conjunto de archivos se eliminarán automáticamente en el siguiente análisis de detección. Si se eliminan los datos subyacentes de una tabla de una zona curada, los metadatos de la tabla no se eliminan, sino que se informa de una acción de datos que falta. Para solucionar este problema, elimina explícitamente la entidad de metadatos de la tabla a través de la API Metadata.

Particiones

Mostrar particiones

Para limitar la lista de particiones devueltas por el servicio, añade parámetros de consulta filter a la URL de la solicitud list partitions.

Ejemplos:

  • ?filter="Country=US AND State=CA AND City=Sunnyvale"
  • ?filter="year < 2000 AND month > 12 AND Date > 10"

Obtener partición

Para obtener una partición, debe completar la URL de la solicitud añadiendo los valores de la clave de partición al final de la URL, con el formato partitions/value1/value2/…./value10.

Por ejemplo, si una partición tiene valores, {Country=US, State=CA, City=Sunnyvale}, la URL de la solicitud GET debe terminar con /partitions/US/CA/Sunnyvale.

Importante: Los valores de URL añadidos deben estar codificados dos veces. Por ejemplo, url_encode(url_encode(value)) se puede usar para codificar "US:CA/CA#Sunnyvale" de forma que la URL de la solicitud termine con /partitions/US%253ACA/CA%2523Sunnyvale. El campo "name" de la respuesta conserva el formato codificado.

Crear partición

Para crear una partición personalizada para tu fuente de datos, usa la API partitions.create. Especifica el campo ubicación obligatorio con una ruta de Cloud Storage.

Eliminar partición

Completa la URL de la solicitud añadiendo los valores de la clave de partición al final de la URL de la solicitud, con el formato partitions/value1/value2/…./value10.

Por ejemplo, si una partición tiene valores, {Country=US, State=CA, City=Sunnyvale}, la URL de la solicitud debe terminar con /partitions/US/CA/Sunnyvale.

Importante: Los valores de URL añadidos deben cumplir el estándar RFC-1034 o deben codificarse dos veces. Por ejemplo, US:/CA#/Sunnyvale se convierte en US%3A/CA%3A/Sunnyvale.

Siguientes pasos