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 dentro de data lakes para extraer metadatos de tablas a entidades de tablas
  • Datos no estructurados, como imágenes y textos, para extraer metadatos del conjunto de archivos en entidades de conjunto de archivos

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

  • Cómo ver, editar y borrar metadatos de 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 con cualquiera de las siguientes opciones:

  • Data Catalog para buscar y etiquetar
  • Dataproc Metastore y BigQuery para consultar los metadatos de las tablas y procesar análisis

APIs de Dataplex

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

API del plano de control

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

  • Lago: Una instancia de servicio de Dataplex que permite administrar recursos de almacenamiento en proyectos dentro de una organización.

  • Zona: Es una agrupación lógica de recursos 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 organizativa.

  • Recursos: Recursos de almacenamiento, con datos almacenados en buckets de Cloud Storage o conjuntos de datos de BigQuery, que se adjuntan a una zona dentro de un lake.

API de Metadata

Usa la API de Dataplex Metadata para crear y administrar metadatos dentro de las entidades y particiones de tablas y conjuntos de archivos. Dataplex analiza los activos de datos, ya sea en un lake o que tú proporciones, para crear entidades y particiones. Las entidades y las particiones mantienen referencias a los activos asociados y a las ubicaciones de almacenamiento físicas.

Conceptos clave

Entidad de la tabla:

Metadatos para datos estructurados con esquemas bien definidos. Las entidades de tabla se identifican de forma única por el ID de la 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: Son los metadatos de los objetos de Cloud Storage, a los que se accede a través de las APIs de Cloud Storage.
  • Tablas de BigQuery: Metadatos para BigQuery a las que se accede a través de las APIs de BigQuery.
Entidad de conjunto de archivos:

Son metadatos sobre datos no estructurados, que suelen no tener esquemas. Los conjuntos de archivos son identificado de manera inequívoca por ID de entidad y ubicación de los datos. Cada conjunto de archivos tiene un formato de datos.

Particiones:

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

Prueba la API

Usa Dataplex lakes.zones.entities y lakes.zones.partitions las páginas de documentación de referencia de la API para ver los parámetros y los campos asociados con cada API. Usa el panel Probar esta API que acompaña la documentación de referencia. para cada método de API para realizar solicitudes a la API con diferentes parámetros y campos. Puedes crear, 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 filtro parámetros de consulta a la URL de solicitud list entities.

Cómo obtener una entidad

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

Detalles de compatibilidad: Aunque los metadatos de Dataplex se registra de forma centralizada en la API de metadatos, solo los metadatos de la tabla de entidad que con BigQuery y Apache Hive Metastore se publica en BigQuery y Dataproc Metastore. La API de Get Entity muestra un CompatibilityStatus, que indica si los metadatos de la tabla son compatibles con BigQuery y Hive Metastore y, de no ser así, el motivo de la incompatibilidad.

Actualizar entidad

Usa esta API para editar los metadatos de las entidades, incluido si tú o Dataplex los administrarán.

  • Esta API realiza un reemplazo completo de todos los campos mutables de entidad. Los siguientes campos de entidad son inmutables y, si los especificas en una actualización, de la aplicación, se ignorarán:
  • Especifica un valor para todos los campos mutables de la entidad, incluidos todos los campos del esquema, incluso si no se cambian los valores.
  • Proporciona el campo etag. Para obtener la etiqueta de estado, primero envía una solicitud entities.get, que muestra el etag de la entidad en la respuesta.
  • Actualiza los campos de esquema: puedes actualizar el esquema de tabla que detecta el Dataplex para mejorar su precisión:
    • Si el esquema es un conjunto de archivos, deja todo campos de esquema vacíos.
    • Para definir un campo repetido, configura la modo a REPEATED. Para definir un campo struct, establece la tipo a RECORD.
    • Puedes configurar userManaged campo del esquema para especificar si tú o Dataplex administra los metadatos de la tabla. La configuración predeterminada es administrada por Dataplex. Si userManaged se establece como verdadero, este parámetro de configuración se incluye en la información que se muestra de una solicitud entities.get si EntityView se establece como SCHEMA o FULL.
  • Actualización de campos de partición:
    • En el caso de los datos particionados sin estilo Hive, el descubrimiento de Dataplex genera automáticamente claves de partición. Por ejemplo, para la ruta de acceso a los 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 para year, month y day respectivamente.
    • Si actualizas el estilo de partición a estilo HIVE, el campo de partición es inmutable.
  • Actualiza otros campos de metadatos: Puedes actualizar los campos mimeType, CompressionFormat, CsvOptions y JsonOptions generados automáticamente para facilitar el descubrimiento de Dataplex. El descubrimiento de Dataplex usará valores nuevos en su próxima ejecución.

Crear entidad

Usa la API de entities.create para crear entidades de metadatos de tablas o conjuntos de archivos. Completa los campos opcionales obligatorios y relevantes o deja que Dataplex y el servicio de detección completan los campos opcionales.

Borrar entidad

  • Proporciona el campo etag. Puedes obtener la ETag enviando primero un entities.get, que devuelve 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 automáticamente en el siguiente análisis de Discovery. Si se borran los datos subyacentes de una tabla en una zona seleccionada, los metadatos de la tabla no se borran de forma correspondiente, 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

Cómo enumerar particiones

Para limitar la lista de particiones que muestra el servicio, agrega parámetros de consulta filter a la URL de 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 agregando el valores de clave de partición al final de la URL, con el formato de partitions/value1/value2/…./value10

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

Importante: Los valores de URL adjuntos deben estar codificados dos veces. Por ejemplo, url_encode(url_encode(value)) puede usarse para codificar "US:CA/CA#Sunnyvale" para que la URL de solicitud finalice con /partitions/US%253ACA/CA%2523Sunnyvale. El campo de nombre en la respuesta retiene el formato codificado.

Crear una partición

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

Borra una partición

Agrega valores de clave de partición al final de la URL de solicitud 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 agregados deben cumplir con lo siguiente: RFC-1034 o deben tener codificación doble, por ejemplo, US:/CA#/Sunnyvale como US%3A/CA%3A/Sunnyvale.

Próximos pasos