Partager via


Présentation des tables Azure Databricks

Une table réside dans un schéma et contient des lignes de données. Le type de table par défaut créé dans Azure Databricks est une table gérée par le catalogue Unity.

Le différentiateur principal pour les types de tables dans Azure Databricks est le catalogue propriétaire, comme décrit dans le tableau suivant :

Type de table Gestion du catalogue Prise en charge de la lecture/écriture Optimisation des performances Optimisation des coûts de stockage
Adresses IP gérées Unity Catalog Oui Oui Oui
Externe Aucun (fichiers uniquement) Oui Manuel uniquement Manuel uniquement
Étranger Un système externe ou un service catalogue Lecture seule Non Non

L’exemple suivant montre une table nommée prod.people_ops_employees qui contient des données sur cinq employés. Les métadonnées sont inscrites dans le catalogue Unity et les données sont stockées dans le stockage cloud.

Exemple de table contenant des données d’employé

Formats de stockage : Delta Lake et Apache Iceberg

Les types de tables dans Azure Databricks définissent la façon dont les données sont détenues et consultées. Séparément, le format de stockage définit la façon dont les données sont physiquement structurées et suivies sur le disque.

Azure Databricks prend en charge deux formats de table ouverts principaux : Delta Lake et Apache Iceberg. Ces formats ajoutent une couche de stockage transactionnelle qui effectue le suivi des métadonnées et active la conformité ACID, le voyage dans le temps et d’autres fonctionnalités.

  • Delta Lake est le format de stockage par défaut pour les tables managées et externes dans Azure Databricks.
  • Apache Iceberg est pris en charge sur les tables gérées et étrangères dans Azure Databricks. Ce format est utile lorsque vous intégrez l’écosystème Iceberg.

Tables managées

Les tables managées gèrent les fichiers de données sous-jacents en même temps que l’inscription du metastore. Databricks vous recommande d’utiliser des tables managées chaque fois que vous créez une table. Les tables gérées par le catalogue Unity sont les tables par défaut lorsque vous créez des tables dans Azure Databricks. Consultez les tables managées du catalogue Unity dans Azure Databricks pour Delta Lake et Apache Iceberg.

Tables externes

Les tables externes, parfois appelées tables non managées, référencent les données stockées en dehors de Databricks dans un système de stockage externe, comme le stockage d’objets cloud. Ils dissocient la gestion des fichiers de données sous-jacents de l'enregistrement dans le métastore. Unity Catalog prend en charge les tables externes dans plusieurs formats, notamment Delta Lake. Les tables externes du catalogue Unity peuvent stocker des fichiers de données à l’aide de formats courants lisibles par des systèmes externes. Consultez Utiliser des tables externes.

Tables étrangères

Les tables étrangères représentent les données stockées dans des systèmes externes connectés à Azure Databricks via Lakehouse Federation. Les tables étrangères sont en lecture seule sur Azure Databricks. Voir Utiliser des tables étrangères.

Tables dans le catalogue Unity

Dans le catalogue Unity, les tables se trouvent au troisième niveau de l’espace de noms à trois niveaux (catalog.schema.table), comme illustré dans le diagramme suivant.

Diagramme du modèle objet Unity Catalog, centré sur la table

Autorisations de table de base

La plupart des opérations de table nécessitent des autorisations USE CATALOG et USE SCHEMA sur le catalogue et le schéma contenant une table.

Le tableau suivant récapitule les autorisations supplémentaires nécessaires pour les opérations de table courantes dans le catalogue Unity :

Opération Autorisations
Créer une table CREATE TABLE sur le schéma conteneur
Interrogation d’une table SELECT sur la table
Mettre à jour, supprimer, fusionner ou insérer des données dans une table SELECT et MODIFY sur la table
Suppression d’une table MANAGE sur la table
Remplacer une table MANAGE sur la table, CREATE TABLE sur le schéma conteneur

Pour plus d’informations sur les autorisations du catalogue Unity, consultez Gérer les privilèges dans le catalogue Unity.