Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta página se describen las tablas administradas por el Unity Catalog en Delta Lake y Apache Iceberg, el tipo de tabla predeterminado y recomendado en Azure Databricks. Estas tablas están completamente gestionadas y optimizadas por el Unity Catalog, ofreciendo un rendimiento y ventajas operativas, además de menores costes de almacenamiento y cálculo, en comparación con las tablas externas y tablas foráneas, ya que las tablas gestionadas aprenden de tus patrones de lectura y escritura. El catálogo de Unity administra todas las responsabilidades de lectura, escritura, almacenamiento y optimización de las tablas administradas. Consulte Conversión de una tabla delta externa en una tabla de catálogo de Unity administrada.
Los archivos de datos de las tablas administradas se almacenan en el esquema o catálogo que los contiene. Consulte Especificar una ubicación de almacenamiento administrada en Unity Catalog.
Databricks recomienda usar tablas administradas para aprovechar las ventajas de:
- Se han reducido los costos de almacenamiento y cómputo.
- Rendimiento más rápido de las consultas en todos los tipos de cliente.
- Mantenimiento y optimización automáticas de tablas.
- Protección del acceso para clientes que no son de Databricks a través de API abiertas.
- Compatibilidad con los formatos Delta Lake e Iceberg.
- Actualizaciones automáticas a las características de la plataforma más recientes.
Las tablas administradas admiten la interoperabilidad al permitir el acceso desde clientes Delta Lake e Iceberg. A través de APIs abiertas y la emisión de credenciales, el Catálogo de Unity permite que los motores externos, como Trino, DuckDB, Apache Spark, Daft, y motores integrados en el catálogo REST de Iceberg, como Dremio, accedan a las tablas administradas. En el caso de los clientes externos que no admiten API abiertas, puede usar el Modo de Compatibilidad para leer tablas administradas mediante cualquier cliente Delta Lake o Iceberg. Delta Sharing, un protocolo de código abierto, permite el uso compartido seguro y regulado de datos con asociados y plataformas externos.
Puede trabajar con tablas administradas en todos los lenguajes y productos compatibles con Azure Databricks. Necesita ciertos privilegios para crear, actualizar, eliminar o consultar tablas administradas. Consulte Administración de privilegios en Unity Catalog.
Note
En esta página solo se describen las tablas administradas por el catálogo de Unity. Para las tablas administradas en el metastore de Hive heredado, consulte Objetos de base de datos en el metastore de Hive heredado.
¿Por qué usar tablas administradas del catálogo de Unity?
Las tablas administradas de Unity Catalog optimizan los costos de almacenamiento y las velocidades de consulta, y permiten la interoperabilidad con herramientas de terceros para Delta Lake y Apache Gigabit. Para simplificar la administración y el rendimiento de los datos, estas tablas administradas usan tecnologías con tecnología de inteligencia artificial, como la compactación del tamaño de archivo y la recopilación de estadísticas inteligentes.
Las siguientes características son exclusivas de las tablas administradas de Unity Catalog y no están disponibles para las tablas externas ni las tablas foráneas:
| Feature | Benefits | ¿Habilitado de forma predeterminada? | ¿Configurable? |
|---|---|---|---|
| Confirmaciones de catálogo | Habilita transacciones de varias instrucciones en varias tablas, una planificación de consultas más rápida al proporcionar metadatos directamente desde Unity Catalog, cambios de esquema y de restricciones aplicables, y escrituras seguras desde motores externos. | No. | Sí. Establezca la delta.feature.catalogManaged propiedad table. Consulte Habilitación de confirmaciones de catálogo. |
| Optimización predictiva | La optimización predictiva optimiza automáticamente la disposición de los datos y la capacidad de cómputo mediante IA, sin necesidad de realizar operaciones manuales de mantenimiento. Databricks recomienda habilitar la optimización predictiva para todas las tablas administradas para reducir los costos de almacenamiento y proceso. La optimización predictiva se ejecuta automáticamente:
|
Sí, para todas las cuentas nuevas creadas el 11 de noviembre de 2024 o después. En el caso de las cuentas actuales, Azure Databricks habilita gradualmente la optimización predictiva de forma predeterminada. Consulte Comprobación de si la optimización predictiva está habilitada. |
Sí. Consulte Habilitación de la optimización predictiva. |
| Transacciones de varias sentencias | Permite ejecutar varias instrucciones SQL en una o varias tablas como confirmación atómica única, con garantías ACID. Todos los cambios se realizan juntos o se revierten juntos. Úselo para procedimientos almacenados y scripts SQL en cargas de trabajo de almacenamiento de datos de misión crítica. Las transacciones que escriben en tablas administradas de Delta Lake están en vista previa pública. Las transacciones que escriben en tablas administradas de Apache Iceberg se encuentran en versión preliminar privada. |
No. | Sí. Se usa BEGIN ATOMIC ... END; para transacciones no interactivas o BEGIN TRANSACTION; ... COMMIT; para transacciones interactivas. Consulte Modos de transacción. |
| Agrupación automática de líquidos | En el caso de las tablas con optimización predictiva, la agrupación automática flexible permite a Azure Databricks seleccionar de forma inteligente las claves de agrupación. A medida que cambian los patrones de consulta, Azure Databricks actualiza automáticamente las claves de agrupación en clústeres para mejorar el rendimiento y reducir los costos. | No. | Sí. Consulte Habilitación de clústeres líquidos. |
| Almacenamiento en caché de metadatos | El almacenamiento en caché en memoria de los metadatos de transacción mejora el rendimiento de las consultas al minimizar las solicitudes al registro de transacciones almacenado en la nube. | Sí. | No. El almacenamiento en caché de metadatos siempre está habilitado para las tablas administradas. |
| Índices de búsqueda de texto completo | Los índices de búsqueda de texto completo aceleran las búsquedas de subcadenas y palabras clave en columnas de texto de tablas administradas. Cuando se aplica un índice, Azure Databricks omite los archivos que no pueden contener filas coincidentes, lo que reduce la cantidad de datos examinados. Los índices de búsqueda de texto completo aceleran las búsquedas de subcadenas y palabras mediante las funciones search y isearch.Los índices de búsqueda de texto completo están en Beta y requieren Databricks Runtime 18.2 y versiones posteriores. |
No. | Sí. Crear con CREATE INDEX (secundaria) o CREATE SEARCH INDEX (texto completo). |
Eliminación automática de archivos después de un DROP TABLE comando |
Si elimina una tabla gestionada, Azure Databricks elimina los datos del almacenamiento en la nube después de 8 días para reducir los costes de almacenamiento. En el caso de las tablas externas, debe eliminar manualmente los archivos del cubo de almacenamiento. | Sí. | No. En el caso de las tablas administradas, los archivos siempre se eliminan automáticamente después de 8 días. |
Acceso a datos de Databricks mediante sistemas externos
Las tablas administradas admiten la interoperabilidad al permitir el acceso desde clientes Delta Lake e Iceberg. A través de APIs abiertas y provisión de credenciales, Unity Catalog permite que los motores externos, como Trino, DuckDB, Apache Spark, Daft y motores integrados en el catálogo REST como Iceberg, Dremio y Snowflake, accedan a las tablas administradas. Consulte integraciones para obtener una lista de los motores externos admitidos o compruebe la documentación del motor si no se incluye en esta lista.
Las siguientes API abiertas proporcionan acceso a sistemas externos a las tablas administradas del catálogo de Unity:
- API REST de Unity: proporciona acceso de lectura, escritura y creación para clientes Delta a tablas delta administradas.
- Catálogo REST de Iceberg (IRC): proporciona acceso de lectura, escritura y creación para los clientes de Iceberg a las tablas administradas de Iceberg y acceso de solo lectura a las tablas Delta con lecturas de Iceberg habilitadas (UniForm).
Ambas API admiten la provisión de credenciales, que proporciona credenciales temporales con ámbito que heredan los privilegios del principal de Azure Databricks que los solicita, manteniendo los controles de gobernanza y seguridad.
Además, Delta Sharing es un protocolo de código abierto que permite el acceso seguro y regulado a los datos a asociados y plataformas externos. Puede usar Delta Sharing para conceder a los asociados acceso temporal y de solo lectura.
Todas las lecturas y escrituras en tablas administradas deben usar nombres de tabla y nombres de catálogo y esquema donde existen. Por ejemplo: catalog_name.schema_name.table_name. No se admite el acceso basado en rutas de acceso a las tablas administradas del catálogo de Unity (excepto en modo de compatibilidad) porque omite los controles de acceso del catálogo de Unity e impide que las características de la tabla administrada funcionen correctamente.
Creación de una tabla administrada
Para crear una tabla administrada, debe tener:
-
USE SCHEMAen el esquema primario de la tabla. -
USE CATALOGen el catálogo primario de la tabla. -
CREATE TABLEen el esquema primario de la tabla.
Use la siguiente sintaxis SQL para crear una tabla administrada vacía mediante SQL. Reemplace los valores de marcador de posición:
-
<catalog-name>: nombre de la base de datos que contendrá la tabla. -
<schema-name>: el nombre del esquema que contiene la tabla. -
<table-name>: Un nombre para la tabla. -
<column-specification>: el nombre y el tipo de datos de cada columna.
-- Create a managed Delta table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
-- Create a managed Iceberg table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
)
USING iceberg;
Para mantener el rendimiento de las lecturas y escrituras, Azure Databricks ejecuta periódicamente operaciones para optimizar los metadatos de la tabla de Iceberg administrados. Esta tarea se realiza mediante computación sin servidor, que tiene MODIFY permisos en la tabla Iceberg. Esta operación solo escribe en los metadatos de la tabla y el proceso únicamente conserva permisos para la tabla mientras dura el trabajo.
Note
Para crear una tabla de Iceberg, especifique USING icebergexplícitamente . De lo contrario, Azure Databricks crea una tabla de Delta Lake de forma predeterminada.
Puede crear tablas administradas a partir de resultados de consulta u operaciones de escritura de DataFrame. En los artículos siguientes se muestran algunos de los muchos patrones que puede usar para crear una tabla administrada en Azure Databricks:
Anulación de una tabla administrada
Para eliminar una tabla administrada, debe tener:
- permiso
MANAGEpara la tabla, o bien debe ser el propietario de la tabla. -
USE SCHEMAen el esquema primario de la tabla. -
USE CATALOGen el catálogo primario de la tabla.
Para anular una tabla administrada, ejecute el siguiente comando de SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Unity Catalog admite el UNDROP TABLE comando para recuperar tablas administradas eliminadas durante 8 días. Después de 8 días, Azure Databricks marca los datos subyacentes para su eliminación del inquilino de su nube y elimina los archivos durante el mantenimiento automatizado de tablas. Consulte UNDROP.