Qu’est-ce que les tables et les vues ?
Les tables et vues sont des concepts fondamentaux dans Databricks pour organiser et accéder aux données.
Une table est un jeu de données structuré stocké dans un emplacement spécifique, généralement au format Delta Lake. Les tables stockent les données réelles sur le stockage et peuvent être interrogées et manipulées à l’aide de commandes SQL ou d’API DataFrame, prenant en charge les opérations telles que l’insertion, la mise à jour, la suppression et la fusion. Consultez Qu’est-ce qu’une table ?.
Une vue est une table virtuelle définie par une requête SQL. Une vue ne stocke pas elle-même les données. Au lieu de cela, une vue permet de présenter des données d’une ou plusieurs tables dans un format ou une abstraction spécifique. Les vues sont utiles pour simplifier les requêtes complexes, encapsuler la logique métier et fournir une interface cohérente aux données sous-jacentes sans dupliquer le stockage. Qu’est-ce qu’une vue ?
Tables et vues dans le catalogue Unity
Les tables et les vues sont régies à l’aide du catalogue Unity. Dans le catalogue Unity, les tables et les vues se trouvent au troisième niveau de l’espace de noms à trois niveaux (catalog.schema.table), comme illustré dans le diagramme suivant.
Différences entre les tables Delta, les tables de streaming et les vues matérialisées
Le tableau suivant répond aux questions fréquemment posées sur les différences entre les tables Delta, les tables de streaming et les vues matérialisées.
Question | Table delta | ST | MV |
---|---|---|---|
De quoi s’agit-il ? | Tables standard stockées au format Delta Lake, prenant en charge les transactions ACID, l’application du schéma et d’autres fonctionnalités Delta Lake. | Table Delta régulière qui a été étendue pour les cas d’usage de streaming et de traitement incrémentiel. | Résultat d’une requête dont le résultat est toujours pré-calculé et correct. |
Pour quels cas d’usage est-il recommandé ? | Code procédural qui effectue les opérations suivantes : -Ingestion -Transformation |
Code déclaratif qui effectue les opérations suivantes : - Ingestion à partir de sources append-only - Transformations à faible latence |
Code déclaratif qui effectue les opérations suivantes : - Transformations incrémentielles - Transformations par lots |
Comment est-il rempli ? | Code procédural (INSERT , UPDATE , MERGE remplacement de partition à l’aide replaceWhere de ) |
Code déclaratif, y compris : - Ajouter des flux - APPLIQUER DES FLUX DE MODIFICATIONS - Une fois les flux |
Requêtes déclaratives |
Quel est le type d’objet dans Unity Catalog ? | Table | Table | Affichage |
Qui peut le mettre à jour ? | Tout enregistreur qui peut mettre à jour une table Delta. | Seul le pipeline qui définit la table de diffusion en continu peut le mettre à jour. | Seul le pipeline qui définit la vue matérialisée peut le mettre à jour. |
Quelles fonctionnalités Delta Lake sont-elles compatibles avec ? | Prend en charge toutes les fonctionnalités Delta Lake. | Ne prend pas en charge : - Partitionnement liquide - Optimisation prédictive |
Ne prend pas en charge : - Partitionnement liquide - Optimisation prédictive |