Dela via


Vad är en tabell?

En tabell finns i ett schema och innehåller rader med data. Alla tabeller som skapats i Azure Databricks använder Delta Lake som standard. Tabeller som backas upp av Delta Lake kallas även Delta-tabeller.

En Delta-tabell lagrar data som en katalog med filer i molnobjektlagring och registrerar tabellmetadata till metaarkivet i en katalog och ett schema. Alla hanterade Unity Catalog-tabeller och direktuppspelningstabeller är Delta-tabeller. Externa tabeller i Unity Catalog kan vara Delta-tabeller men måste inte vara det.

Du kan skapa tabeller på Databricks som inte använder Delta Lake. Dessa tabeller ger inte transaktionsgarantier eller optimerade prestanda för Delta-tabeller.

Tabeller lagrar rader med data. En tabell finns i ett schema och innehåller rader med data. I följande exempel visas en tabell prod.people_ops_employees som innehåller data om fem anställda. Metadata registreras i Unity Catalog och data lagras i molnlagring.

Exempeltabell som innehåller information om anställda

Grundläggande tabellbehörigheter

Om du vill skapa en tabell måste användarna ha CREATE TABLE och USE SCHEMA behörigheter för schemat, och de måste ha behörigheten USE CATALOG i den överordnade katalogen. För att ställa frågor till en tabell måste användarna ha behörigheten SELECT på tabellen, behörigheten USE SCHEMA på det överordnade schemat och behörigheten USE CATALOG på den överordnade katalogen.

Mer information om Behörigheter för Unity-katalog finns i Hantera privilegier i Unity Catalog.

Tabeller i Unity-katalogen

I Unity Catalog ligger tabellerna på den tredje nivån i namnområdet på tre nivåer (catalog.schema.table), enligt följande tabell. Externa tabeller i Unity Catalog kan vara Delta-tabeller men måste inte vara det.

Objektmodelldiagram för Unity Catalog med fokus på tabell

Deltatabeller

En Delta-tabell som backas upp av Delta Lake lagrar data som en katalog med filer i molnobjektlagring och registrerar tabellmetadata till metaarkivet i en katalog och ett schema. Eftersom Delta-tabeller är standard för Databricks beskriver de flesta referenser till tabeller beteendet för Delta-tabeller om inget annat anges. Alla hanterade Unity Catalog-tabeller och direktuppspelningstabeller är Delta-tabeller. Se Vad är Delta Lake?.

Databricks rekommenderar att du alltid interagerar med Delta-tabeller med hjälp av fullständigt kvalificerade tabellnamn i stället för filsökvägar.

Hanterade tabeller

Hanterade tabeller hanterar underliggande datafiler tillsammans med metaarkivregistreringen. Databricks rekommenderar att du använder hanterade tabeller när du skapar en ny tabell. Hanterade tabeller i Unity Catalog är standard när du skapar tabeller i Azure Databricks. De använder alltid Delta Lake. Se Arbeta med hanterade tabeller.

Externa tabeller

Externa tabeller, som ibland kallas ohanterade tabeller, refererar till data som lagras utanför Databricks i ett externt lagringssystem, till exempel lagring av molnobjekt. De frikopplar hanteringen av underliggande datafiler från registrering av metaarkiv. Unity Catalog >stöder externa tabeller i flera format, inklusive Delta Lake. Externa tabeller i Unity Catalog kan lagra datafiler med hjälp av vanliga format som kan läsas av externa system. Se Arbeta med externa tabeller.

Strömmande tabeller

Strömmande tabeller är Delta-tabeller som främst används för bearbetning av inkrementella data. De flesta uppdateringar av strömmande tabeller sker via uppdateringsåtgärder.

Du kan registrera strömmande tabeller i Unity Catalog med Hjälp av Databricks SQL eller definiera dem som en del av en DLT-pipeline. Se Hur strömmande tabeller fungerar, Läsa in data med hjälp av strömmande tabeller i Databricks SQLoch Vad är DLT?.

Externa tabeller

Utländska tabeller representerar data som lagras i externa system som är anslutna till Azure Databricks via Lakehouse Federation. Externa tabeller är skrivskyddade i Azure Databricks. Se Vad är Lakehouse Federation?.

Egenskapstabeller

Alla Delta-tabeller som hanteras av Unity Catalog som har en primärnyckel är en funktionstabell. Du kan också konfigurera funktionstabeller med hjälp av funktionsarkivet online för användningsfall med låg latens. Se Arbeta med funktionstabeller i Workspace Feature Store (äldre).

Hive-tabeller (äldre)

Hive-tabeller beskriver två distinkta begrepp i Azure Databricks, som båda är äldre mönster och inte rekommenderas.

Tabeller som registrerats med det gamla Hive-metakatalogen lagrar data i den gamla DBFS-roten som standard. Databricks rekommenderar att du migrerar alla tabeller från den äldre HMS-katalogen till Unity Catalog. Se Databasobjekt i det äldre Hive-metaarkivet.

Apache Spark stöder registrering och frågor mot Hive-tabeller, men dessa codecs är inte optimerade för Azure Databricks. Databricks rekommenderar att du endast registrerar Hive-tabeller för att stödja frågor mot data som skrivs av externa system. Se Hive-tabell (äldre).

Live-tabeller (föråldrade)

Termen livetabeller refererar till en tidigare implementering av funktionalitet som nu har implementerats som materialiserade vyer. All äldre kod som refererar till livetabeller bör uppdateras för att använda syntax för materialiserade vyer. Se Vad är DLT? och Använd materialiserade vyer i Databricks SQL.