Wat is een tabel?
Een tabel bevindt zich in een schema en bevat rijen met gegevens. Alle tabellen die in Azure Databricks zijn gemaakt, maken standaard gebruik van Delta Lake. Tabellen die worden ondersteund door Delta Lake, worden ook wel Delta-tabellengenoemd.
Een Delta-tabel slaat gegevens op als een map met bestanden in de opslag van cloudobjecten en registreert metagegevens van tabellen in de metastore binnen een catalogus en schema. Alle beheerde tabellen en streamingtabellen van Unity Catalog zijn Delta-tabellen. Externe tabellen van Unity Catalog kunnen Delta-tabellen zijn, maar zijn niet vereist.
U kunt tabellen maken in Databricks die geen gebruikmaken van Delta Lake. Deze tabellen bieden geen transactionele garanties of geoptimaliseerde prestaties van Delta-tabellen.
Tabellen slaan rijen met gegevens op. Een tabel bevindt zich in een schema en bevat rijen met gegevens. In het volgende voorbeeld ziet u een tabel prod.people_ops_employees met gegevens over vijf werknemers. De metagegevens worden geregistreerd in Unity Catalog en de gegevens worden opgeslagen in cloudopslag.
Basis tabelmachtigingen
Als u een tabel wilt maken, moeten gebruikers beschikken over CREATE TABLE
- en USE SCHEMA
machtigingen voor het schema en moeten ze beschikken over de USE CATALOG
machtiging voor de bovenliggende catalogus. Als u een query wilt uitvoeren op een tabel, moeten gebruikers beschikken over de SELECT
machtiging voor de tabel, de USE SCHEMA
machtiging voor het bovenliggende schema en de USE CATALOG
machtiging voor de bovenliggende catalogus.
Zie Bevoegdheden beheren in Unity Catalogvoor meer informatie over machtigingen voor Unity Catalog.
Tabellen in Unity Catalog
In Unity Catalog bevinden tabellen zich op het derde niveau van de naamruimte met drie niveaus (catalog.schema.table
), zoals wordt weergegeven in de volgende tabel. Externe tabellen van Unity Catalog kunnen Delta-tabellen zijn, maar zijn niet vereist.
Delta-tabellen
Een Delta-tabel die wordt ondersteund door Delta Lake, slaat gegevens op als een map met bestanden in de opslag van cloudobjecten en registreert metagegevens van tabellen in de metastore binnen een catalogus en schema. Omdat Delta-tabellen de standaardinstelling voor Databricks zijn, beschrijven de meeste verwijzingen naar tabellen het gedrag van Delta-tabellen, tenzij anders vermeld. Alle beheerde tabellen en streamingtabellen van Unity Catalog zijn Delta-tabellen. Zie Wat is Delta Lake?
Databricks raadt u aan altijd te communiceren met Delta-tabellen met behulp van volledig gekwalificeerde tabelnamen in plaats van bestandspaden.
Beheerde tabellen
Beheerde tabellen beheren onderliggende gegevensbestanden naast de metastore-registratie. Databricks raadt u aan beheerde tabellen te gebruiken wanneer u een nieuwe tabel maakt. Beheerde tabellen in Unity Catalog zijn de standaardtabellen wanneer u tabellen maakt in Azure Databricks. Ze gebruiken altijd Delta Lake. Zie Werken met beheerde tabellen.
Externe tabellen
Externe tabellen, ook wel niet-beheerde tabellengenoemd, verwijzen naar gegevens die buiten Databricks zijn opgeslagen in een extern opslagsysteem, zoals opslag van cloudobjecten. Ze ontkoppelen het beheer van onderliggende gegevensbestanden van metastore-registratie. Unity Catalog >ondersteunt externe tabellen in verschillende indelingen, waaronder Delta Lake. Externe tabellen van Unity Catalog kunnen gegevensbestanden opslaan met behulp van algemene indelingen die kunnen worden gelezen door externe systemen. Zie Werken met externe tabellen.
Streamingtabellen
Streamingtabellen zijn Delta-tabellen die voornamelijk worden gebruikt voor het verwerken van incrementele gegevens. De meeste updates voor streamingtabellen vinden plaats via vernieuwingsbewerkingen.
U kunt streamingtabellen registreren in Unity Catalog met behulp van Databricks SQL of deze definiëren als onderdeel van een DLT-pijplijn. Zie Hoe streamingtabellen werken, Gegevens laden met behulp van streamingtabellen in Databricks SQLen Wat is DLT?.
Externe tabellen
Externe tabellen vertegenwoordigen gegevens die in externe systemen zijn opgeslagen en via Lakehouse Federation zijn verbonden met Azure Databricks. Externe tabellen zijn in alleen-lezenmodus in Azure Databricks. Zie Wat is Lakehouse Federation?.
Functietabellen
Een Delta-tabel die wordt beheerd door Unity Catalog die een primaire sleutel heeft, is een functietabel. U kunt eventueel functietabellen configureren met behulp van de online functiestore voor use cases met lage latentie. Zie Werken met featuretabellen in Workspace Feature Store (verouderd).
Hive-tabellen (verouderd)
Hive-tabellen beschrijven twee verschillende concepten in Azure Databricks, die beide verouderde patronen zijn en niet worden aanbevolen.
Tabellen die zijn geregistreerd met behulp van de verouderde Hive-metastoreopslaggegevens in de verouderde DBFS-hoofdmap, standaard. Databricks raadt aan om alle tabellen van de verouderde HMS te migreren naar Unity Catalog. Zie Databaseobjecten in de verouderde Hive-metastore.
Apache Spark ondersteunt het registreren en opvragen van Hive-tabellen, maar deze codecs zijn niet geoptimaliseerd voor Azure Databricks. Databricks raadt aan Hive-tabellen alleen te registreren om query's te ondersteunen op basis van gegevens die zijn geschreven door externe systemen. Zie Hive-tabel (verouderd).
Livetabellen (verouderd)
De term livetabellen verwijst naar een eerdere implementatie van functionaliteit die nu is geïmplementeerd als gerealiseerde weergaven. Verouderde code die verwijst naar livetabellen, moet worden bijgewerkt om syntaxis te gebruiken voor gerealiseerde weergaven. Zie Wat is DLT? en Gerealiseerde weergaven gebruiken in Databricks SQL.