Compartir vía


¿Qué es una tabla?

Una tabla reside en un esquema y contiene filas de datos. Todas las tablas creadas en Azure Databricks usan Delta Lake de manera predeterminada. Las tablas respaldadas por Delta Lake también se denominan Tablas Delta.

Una tabla Delta almacena datos como un directorio de archivos en el almacenamiento de objetos en la nube y registra metadatos de tabla en el metastore dentro de un catálogo y esquema. Todas las tablas administradas por Unity Catalog y las tablas de streaming son tablas Delta. Las tablas externas de Unity Catalog pueden ser tablas Delta, pero no es obligatorio que lo sean.

Es posible crear tablas en Databricks que no usen Delta Lake. Estas tablas no ofrecen las garantías transaccionales ni el rendimiento optimizado de las tablas Delta. Puede optar por crear los siguientes tipos de tablas mediante formatos distintos de Delta Lake:

  • Tablas externas
  • Tablas foráneas.
  • Tablas registradas en el metastore de Hive heredado.

En Unity Catalog, las tablas se sitúan en el tercer nivel del espacio de nombres de tres niveles (catalog.schema.table):

Diagrama del modelo de objetos de Unity Catalog, centrado en la tabla

Tipos de tablas de Azure Databricks

Azure Databricks permite usar los siguientes tipos de tablas.

Tablas administradas

Las tablas administradas administran los archivos de datos subyacentes junto con el registro de metastore. Databricks recomienda usar tablas administradas cada vez que cree una nueva tabla. Las tablas administradas por Unity Catalog son las predeterminadas cuando se crean tablas en Azure Databricks. Siempre usan Delta Lake. Consulte Trabajar con tablas administradas.

Tablas externas

Las tablas externas, a veces denominadas tablas no administradas, desvinculan la administración de los archivos de datos subyacentes del registro en el metastore. Las tablas externas de Unity Catalog pueden almacenar archivos de datos usando formatos comunes legibles por sistemas externos. Consulte Uso de tablas externas.

Tablas delta

El término Tabla Delta se usa para describir cualquier tabla respaldada por Delta Lake. Dado que las tablas Delta son las predeterminadas en Azure Databricks, la mayoría de las referencias a tablas describen el comportamiento de las tablas Delta a menos que se indique lo contrario.

Databricks recomienda interactuar siempre con las tablas Delta usando nombres de tabla totalmente cualificados en lugar de rutas de acceso a archivos.

Tablas de streaming

Las tablas de streaming son tablas Delta que se usan principalmente para el procesamiento de datos incrementales. La mayoría de las actualizaciones de las tablas de streaming se producen mediante operaciones de actualización.

Puede registrar tablas de streaming en Unity Catalog usando Databricks SQL o definirlas como parte de una canalización de Delta Live Tables. Consulte Carga de datos mediante tablas de secuencia en Databricks SQL. y ¿Qué es Delta Live Tables?.

Tablas foráneas

Las tablas foráneas representan datos almacenados en sistemas externos conectados a Azure Databricks a través de la Federación de Lakehouse. Las tablas foráneas son de solo lectura en Azure Databricks. Consulte ¿Qué es la federación de Lakehouse?.

Tablas de características

Cualquier tabla Delta administrada por Unity Catalog que tenga una clave principal es una tabla de características. Opcionalmente, puede configurar tablas de características usando el Almacén de características en línea para casos de uso de baja latencia. Consulte Uso de tablas de características en el almacén de características del área de trabajo.

Tablas de Hive (heredadas)

Las tablas de Hive describen dos conceptos distintos en Azure Databricks, ambos patrones heredados y no recomendados.

Las tablas registradas usando el metastore de Hive heredado almacenan los datos en la raíz DBFS heredada, de manera predeterminada. Databricks recomienda migrar todas las tablas de HMS heredado a Unity Catalog. Consulte Objetos de base de datos en el metastore de Hive heredado.

Apache Spark es compatible con el registro y la consulta de tablas de Hive, pero estos códecs no están optimizados para Azure Databricks. Databricks recomienda registrar tablas de Hive solo para admitir consultas sobre datos escritos por sistemas externos. Consulte Tabla de Hive (heredado).

Tablas dinámicas (en desuso)

El término tablas dinámicas hace referencia a una implementación anterior de la funcionalidad que ahora se implementa como vistas materializadas. Cualquier código heredado que haga referencia a tablas dinámicas debería ser actualizado para usar la sintaxis de las vistas materializadas. Consulte ¿Qué son las Delta Live Tables? y Uso de vistas materializadas en Databricks SQL.

Permisos de tabla básicos

Para crear una tabla, los usuarios deben tener los permisos CREATE TABLE y USE SCHEMA en el esquema, y el permiso USE CATALOG en su catálogo principal. Para consultar una tabla, los usuarios deben tener el permiso SELECT sobre la tabla, el permiso USE SCHEMA sobre su esquema principal y el permiso USE CATALOG sobre su catálogo principal.

Para más información sobre los permisos de Unity Catalog, consulte Administración de privilegios en Unity Catalog.