En esta guía, se describen los metadatos de Dataplex Universal Catalog para lakes, zonas y recursos, y cómo puedes usar las APIs de Dataplex Universal Catalog para administrarlos.
Descripción general
Dataplex Universal Catalog analiza lo siguiente:
- Activos de datos estructurados y semiestructurados dentro de data lakes para extraer metadatos de tablas en entidades de tablas
- 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 Dataplex Universal Catalog Metadata para hacer lo siguiente:
- Visualiza, edita y borra los metadatos de las entidades de tablas y conjuntos de archivos
- Crea tus propios metadatos de entidades de tablas o conjuntos de archivos
Puedes analizar los metadatos de Dataplex Universal Catalog con las siguientes herramientas:
- Data Catalog (obsoleto) para buscar y etiquetar
- Dataproc Metastore y BigQuery para la consulta de metadatos de tablas y el procesamiento de estadísticas
APIs de Dataplex Universal Catalog
En esta sección, se resumen las APIs de Dataplex Universal Catalog y los recursos clave que las acompañan.
API del plano de control
La API del plano de control de Dataplex Universal Catalog permite crear y administrar los recursos de lake, zona y recurso.
Lake: Es una instancia del servicio de Dataplex Universal Catalog que permite administrar recursos de almacenamiento en todos los proyectos de una organización.
Zona: Es una agrupación lógica de activos dentro de un lake. Usa varias zonas dentro de un lake para organizar los datos según su preparación, carga de trabajo o estructura de la organización.
Recursos: Son 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 metadatos del catálogo universal de Dataplex para crear y administrar metadatos dentro de las entidades y particiones de tablas y conjuntos de archivos. Dataplex Universal Catalog analiza los recursos de datos, ya sea en un lake 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:
Son los metadatos para 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 la entidad 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 APIs de Cloud Storage.
- Tablas de BigQuery: Son los metadatos de las tablas de BigQuery, a los 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 esquema. Los conjuntos de archivos se identifican de forma única por el ID de la entidad y la ubicación de los datos. Cada conjunto de archivos tiene un formato de datos.
- Particiones:
Son los metadatos de un subconjunto de datos dentro de una entidad de tabla o conjunto de archivos, identificados 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 las APIs de Dataplex Universal Catalog lakes.zones.entities y lakes.zones.partitions 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 de cada método de la 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 devuelve el servicio.
En las siguientes secciones, se proporciona información para ayudarte a comprender y usar las APIs de metadatos de Dataplex Universal Catalog.
Entidades
Enumera entidades
Para limitar la lista de entidades que devuelve 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 básicos de la entidad. 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 del catálogo universal de Dataplex se registran de forma centralizada en la API de metadatos, solo los metadatos de la tabla de entidades que son compatibles con BigQuery y Apache Hive Metastore se publican en BigQuery y Dataproc Metastore.
La API de Get Entity
devuelve un mensaje de CompatibilityStatus
, que indica si los metadatos de la tabla son compatibles con BigQuery y Hive Metastore, y, si no lo son, el motivo de la incompatibilidad.
Actualiza la entidad
Usa esta API para editar los metadatos de la entidad, incluido si tú o Dataplex Universal Catalog administrarán los metadatos de la entidad.
- Esta API reemplaza por completo todos los campos mutables de Entity. Los siguientes campos de Entity son inmutables y, si los especificas en una solicitud de actualización, se ignorarán:
- Especifica un valor para todos los campos de Entity mutables, incluidos todos los campos del esquema, incluso si los valores no se cambian.
- Proporciona el campo etag. Para obtener el ETag, primero debes enviar una solicitud de entities.get, que devuelve el
etag
de la entidad en la respuesta. - Actualiza los campos del esquema: Puedes actualizar el esquema de la tabla que descubrió 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, establece el modo en
REPEATED
. Para definir un campo de struct, establece el tipo enRECORD
. - Puedes configurar el campo
userManaged
del esquema para especificar si tú o Dataplex Universal Catalog administran los metadatos de la tabla. El parámetro de configuración predeterminado es Dataplex Universal Catalog administrado. SiuserManaged
se establece como verdadero, este parámetro de configuración se incluye en la información que se devuelve de una solicitud deentities.get
si EntityView se establece comoSCHEMA
oFULL
.
- Actualización de los campos de partición:
- En el caso de los datos particionados que no tienen el estilo de Hive, el 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ónp0
,p1
yp2
. Para que las consultas sean más intuitivas, puedes actualizarp0
,p1
yp2
ayear
,month
yday
, respectivamente. - Si actualizas el estilo de partición a estilo de Hive, el campo de partición será inmutable.
- En el caso de los datos particionados que no tienen el estilo de Hive, el descubrimiento de Dataplex Universal Catalog genera automáticamente claves de partición. Por ejemplo, para la ruta de datos
- Actualiza otros campos de metadatos: Puedes actualizar los campos mimeType, CompressionFormat, CsvOptions y JsonOptions generados automáticamente para facilitar el descubrimiento del Catálogo universal de Dataplex. El descubrimiento de Dataplex Universal Catalog usará los 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 obligatorios y los campos opcionales pertinentes, o bien permite que el servicio de detección de Dataplex Universal Catalog complete los campos opcionales.
Borrar entidad
- Proporciona el campo etag. Para obtener el ETag, primero debes enviar una solicitud de 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 curada, 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 explícitamente la entidad de metadatos de la tabla a través de la API de metadatos.
Particiones
Enumera particiones
Para limitar la lista de particiones que devuelve el servicio, agrega parámetros de búsqueda 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 la solicitud agregando los valores de la 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 la solicitud get debe terminar con /partitions/US/CA/Sunnyvale
.
Importante: Los valores de URL agregados deben estar codificados dos veces. Por ejemplo, url_encode(url_encode(value))
se puede usar para codificar "US:CA/CA#Sunnyvale" de modo que la URL de la solicitud termine con /partitions/US%253ACA/CA%2523Sunnyvale
. El campo name de la respuesta conserva el formato codificado.
Crear una partición
Para crear una partición personalizada para tu fuente de datos, usa la API de partitions.create
. Especifica el campo ubicación requerido con una ruta de acceso de Cloud Storage.
Borrar partición
Completa la URL de la solicitud agregando los valores de la clave de partición al final de 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 la RFC-1034 o deben estar codificados dos veces, por ejemplo, US:/CA#/Sunnyvale
como US%3A/CA%3A/Sunnyvale
.
¿Qué sigue?
- Obtén más información para acceder a los metadatos en Apache Spark.