Metadatos de Dataplex

En esta guía, se describen los metadatos de Dataplex y cómo puedes usar las APIs de Dataplex para administrarlos.

Descripción general

Dataplex analiza lo siguiente:

  • Recursos de datos estructurados y semiestructurados en data lakes, para extraer metadatos de tablas en entidades
  • Datos no estructurados, como imágenes y textos, para extraer los metadatos del conjunto de archivos en entidades de conjuntos de archivos

Puedes usar la API de Dataplex Metadata para realizar cualquiera de las siguientes acciones:

  • Visualiza, edita y borra los metadatos de las entidades de tablas y conjuntos de archivos.
  • Crea tus propios metadatos de entidad de tabla o conjunto de archivos

También puedes analizar los metadatos de Dataplex a través de cualquiera de las siguientes opciones:

  • Data Catalog para buscar y etiquetar
  • Dataproc Metastore y BigQuery para consultas de metadatos de tablas y procesamiento de estadísticas

APIs de Dataplex

En esta sección, se resumen las APIs de Dataplex y los recursos clave que tienen con ellas.

API del plano de control

La API del plano de control de Dataplex permite crear y administrar los recursos del lake, la zona y los recursos.

  • Lake: Una instancia de servicio de Dataplex que permite administrar recursos de almacenamiento en todos los proyectos de una organización.

  • Zona: Es una agrupación lógica de elementos dentro de un lake. Usa varias zonas dentro de un lake para organizar los datos según la preparación, la carga de trabajo o la estructura de la organización.

  • Elementos: Recursos de almacenamiento, con datos almacenados en buckets de Cloud Storage o conjuntos de datos de BigQuery, que están conectados a una zona dentro de un lake.

API de metadatos

Usa la API de metadatos de Dataplex para crear y administrar metadatos dentro de entidades y particiones de tablas y conjuntos de archivos. Dataplex analiza recursos de datos, ya sea en un lake o en uno que proporciones, para crear entidades y particiones. Las entidades y particiones mantienen referencias a recursos asociados y ubicaciones de almacenamiento físico.

Conceptos clave

Entidad de la tabla:

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

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

Metadatos sobre datos no estructurados, generalmente sin esquemas. Los conjuntos de archivos se identifican de forma única por ID de entidad y ubicación de datos. Cada conjunto de archivos tiene un formato de datos.

Particiones:

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

Prueba la API

Usa las páginas de documentación de referencia de la API de lakes.zones.entities y lakes.zones.partitions de Dataplex para ver los parámetros y campos asociados con cada API. Usa el panel Prueba esta API que acompaña la documentación de referencia de cada método de API para realizar solicitudes a la API con diferentes parámetros y campos. Puedes construir, ver y enviar tus solicitudes sin necesidad de generar credenciales y, luego, ver las respuestas que muestra el servicio.

En las siguientes secciones, se proporciona información para ayudarte a comprender y usar las APIs de metadatos de Dataplex.

Entidades

Enumerar entidades

Para limitar la lista de entidades que muestra el servicio, agrega parámetros de consulta filter a la URL de la solicitud list entities.

Obtener entidad

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

Detalles de compatibilidad: Si bien los metadatos de Dataplex están registrados de forma centralizada en la API de metadatos, solo los metadatos de tablas de entidades que son compatibles con BigQuery y Apache Hive Metastore se publican en BigQuery y Dataproc Metastore. La API de Get Entity muestra un mensaje CompatibilityStatus, que indica si los metadatos de la tabla son compatibles con BigQuery y Hive Metastore y, si no es así, el motivo de la incompatibilidad.

Actualizar entidad

Usa esta API para editar los metadatos de la entidad, lo que incluye si tú o Dataplex administrarán los metadatos de la entidad.

  • Esta API realiza un reemplazo completo de todos los campos mutable Entity. Los siguientes campos Entity son inmutables y, si los especificas en una solicitud de actualización, se ignorarán:
  • Especifica un valor para todos los campos de entidad mutable, incluidos todos los campos de schema, incluso si los valores no se cambian.
  • Proporciona el campo etag. Puedes obtener la Etag si primero envías una solicitud entities.get, que muestra el etag de la entidad en la respuesta.
  • Actualiza los campos del esquema: Puedes actualizar el esquema de la tabla que descubre Dataplex para mejorar su precisión:
    • Si el esquema es un conjunto de archivos, deja todos los campos del esquema vacíos.
    • Para definir un campo repetido, establece el mode en REPEATED. Para definir un campo de estructura, establece el tipo en RECORD.
    • Puedes configurar el campo userManaged del esquema para especificar si tú o Dataplex administran los metadatos de las tablas. La configuración predeterminada es administrada por Dataplex. Si estableces userManaged como verdadero, esta configuración se incluye en la información que se muestra en una solicitud entities.get si EntityView se establece en SCHEMA o FULL.
  • Actualiza campos de partición:
    • Para los datos particionados sin estilo de Hive, el descubrimiento de Dataplex 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 actualizar p0, p1 y p2 a year, month y day, respectivamente.
    • Si actualizas el estilo de partición al estilo HIVE, el campo de partición es inmutable.
  • Actualización de otros campos de metadatos: Puedes actualizar los campos generados automáticamente mimeType, CompressionFormat, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9IxFxGslfJsonOptions Dataplex Discovery usará valores nuevos en su próxima ejecución. </a\>

Crear entidad

Usa la API de entities.create para crear entidades de metadatos de tablas o conjuntos de archivos. Propaga los campos opcionales obligatorios y relevantes o deja que el servicio de descubrimiento de Dataplex complete los campos opcionales.

Borrar entidad

  • Proporciona el campo etag. Puedes obtener la Etag si primero envías una solicitud entities.get, que muestra el etag de la entidad en la respuesta.

Si se borran los datos subyacentes de una tabla o un conjunto de archivos en una zona sin procesar, los metadatos de la tabla o el conjunto de archivos se borran de forma automática en el siguiente análisis de descubrimiento. Si se borran los datos subyacentes de una tabla en una zona seleccionada, los metadatos de la tabla no se borran en consecuencia, sino que se informa una acción de datos faltantes. Para resolver este problema, borra de forma explícita la entidad de metadatos de la tabla a través de la API de metadatos.

Particiones

Enumerar particiones

Para limitar la lista de particiones que muestra el servicio, agrega los 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, debes completar la URL de solicitud. Para ello, agrega los valores de clave de partición al final de la URL, con el formato partitions/value1/value2/…./value10.

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

Importante: Los valores de URL agregados deben tener codificación doble. Por ejemplo, se puede usar url_encode(url_encode(value)) para codificar "US:CA/CA#Sunnyvale" a fin de que la URL de solicitud termine en /partitions/US%253ACA/CA%2523Sunnyvale. El campo de nombre en la respuesta conserva el formato codificado.

Crear partición

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

Borrar partición

Agrega los valores de clave de partición al final de la URL de la solicitud para completar la URL de la solicitud, con el formato partitions/value1/value2/…./value10.

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 adjuntos deben cumplir con RFC-1034 o deben tener codificación doble, por ejemplo, US:/CA#/Sunnyvale como US%3A/CA%3A/Sunnyvale.

Próximos pasos