Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Unity Catalog stöder tre primära tabelltyper: hanterade, externa och utländska tabeller. Varje typ skiljer sig åt i hur data lagras, hanteras och styrs.
Hanterade tabeller
Hanterade tabeller är standard och rekommenderad tabelltyp. Unity Catalog hanterar datalivscykeln, lagringsplatsen och optimeringarna. När du släpper en hanterad tabell tas både metadata och underliggande datafiler bort.
Hanterade tabeller backas upp av Delta Lake eller Apache Iceberg och tillhandahåller:
- Automatisk optimering för minskade lagrings- och beräkningskostnader
- Snabbare frågeprestanda för alla klienttyper
- Automatiskt tabellunderhåll
- Säker åtkomst för icke-Databricks-klienter via öppna API:er
- Automatiska uppgraderingar till de senaste plattformsfunktionerna
Datafiler lagras i schemat eller katalogen som innehåller tabellen. Se Unity Catalog-hanterade tabeller i Azure Databricks för Delta Lake och Apache Iceberg.
Externa tabeller
Externa tabeller refererar till data som lagras i molnobjektlagring som du hanterar. Unity Catalog styr dataåtkomst men hanterar inte datalivscykel, optimeringar eller lagringslayout. När du släpper en extern tabell tas endast katalogmetadata bort och de underliggande datafilerna finns kvar.
Externa tabeller i Unity Catalog stöder formaten Delta Lake, CSV, JSON, AVRO, PARQUET, ORC och TEXT. Databricks rekommenderar att du använder Delta Lake-formatet eftersom det har transaktionsgarantier och prestandaoptimeringar som de andra formaten inte har.
Använd externa tabeller när du behöver:
- Registrera befintliga data som inte är kompatibla med hanterade Unity Catalog-tabeller
- Ge direkt dataåtkomst från icke-Databricks-klienter som inte stöder andra externa åtkomstmönster
Se Arbeta med externa tabeller.
Externa tabeller
Externa tabeller (även kallade federerade tabeller) är skrivskyddade tabeller som hanteras av en extern katalog som är registrerad i Unity Catalog. Externa system hanterar data och metadata, medan Unity Catalog lägger till datastyrning för frågor.
Azure Databricks har stöd för två metoder för att registrera externa tabeller.
- Frågefederation: Använder säkra JDBC-anslutningar till externa datasystem som PostgreSQL och MySQL
- Katalogfederation: Ansluter externa kataloger för att direkt söka efter data i filer
Utländska tabeller som använder Delta Lake-formatet saknar många tillgängliga optimeringar i hanterade Unity Catalog-tabeller. För produktionsarbetsbelastningar eller datauppsättningar som ofta efterfrågas migrerar du till hanterade Unity Catalog-tabeller för bättre prestanda. Se Arbeta med externa tabeller.
Jämförelse av tabelltyper
I följande tabell jämförs de tre tabelltyperna:
| Feature | Hanterade tabeller | Externa tabeller | Externa tabeller |
|---|---|---|---|
| Livscykelhantering av data | Unity Catalog hanterar | Du hanterar | Externt system hanterar |
| Lagringsplats | Unity Catalog hanterar | Du anger | Externt system hanterar |
| Automatiska optimeringar | Yes | Limited | No |
| Format som stöds | Delta Lake, Apache Iceberg | Delta Lake (rekommenderas), CSV, JSON, AVRO, PARQUET, ORC, TEXT | Beror på externt system |
Data raderat på DROP TABLE |
Yes | No | No |
| Passar bäst för | Produktionsarbetsbelastningar, data som ofta efterfrågas | Äldre integreringar, befintliga data | Migrering från externa system, tillfällig åtkomst |
Andra tabelltyper
Azure Databricks har också stöd för specialiserade tabelltyper för specifika användningsfall:
- Strömmande tabeller: Lakeflow Spark Deklarativa pipeline-datauppsättningar som stöds av Delta Lake med inkrementell bearbetningslogik
- Materialiserade vyer: Lakeflow Spark Deklarativa pipelines-datauppsättningar som backas upp av Delta Lake som materialiserar frågeresultat med hjälp av hanterad flödeslogik
Äldre tabelltyper
Följande äldre tabelltyper stöds för bakåtkompatibilitet men rekommenderas inte för ny utveckling.
Hive tabeller
Hive-tabeller hanteras av det äldre Hive-metaarkivet och använder äldre mönster, inklusive Hive SerDe-codecs och Hive SQL-syntax. Som standard lagrar tabeller som registrerats med hjälp av det äldre Hive-metaarkivet data i den äldre DBFS-roten.
Databricks rekommenderar att du migrerar alla tabeller från äldre HMS till Unity Catalog. Se Databasobjekt i det äldre Hive-metaarkivet.
Du kan också federera ett Hive-metaarkiv till Unity Catalog och komma åt tabellerna som sekundärtabeller i Unity Catalog. Se Hive metastore-federation: aktivera Unity Catalog för att kontrollera tabeller som är registrerade i ett Hive-metaarkiv.
Apache Spark stöder registrering och frågor mot Hive-tabeller, men Hive SerDe-codecs är inte optimerade för Azure Databricks. Registrera Hive-tabeller endast när du behöver stöd för frågor om data som skrivits av externa system. Se även Hive-tabell (äldre).
Live-tabeller
Termen livetabeller refererar till en tidigare implementering av funktioner som nu är tillgängliga som materialiserade vyer. Uppdatera äldre kod som refererar till livetabeller för att använda materialiserad vysyntax. Se även Lakeflow Spark Deklarativa Pipelines och Materialiserade Vyer.