Databricks Unity Catalog tabelltyper

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.