Co to jest tabela?
Tabela znajduje się w schemacie i zawiera wiersze danych. Wszystkie tabele utworzone w usłudze Azure Databricks domyślnie używają usługi Delta Lake. Tabele wspierane przez usługę Delta Lake są również nazywane tabelami delty.
Tabela Delta przechowuje dane jako katalog plików w obiektowej pamięci masowej w chmurze i rejestruje metadane tabeli w metastore w ramach katalogu i schematu. Wszystkie tabele zarządzane w katalogu Unity i tabele przesyłania strumieniowego to Tabele Delta. Tabele zewnętrzne Unity Catalog mogą być tabelami Delta, ale nie muszą takimi być.
Tabele można tworzyć w usłudze Databricks, które nie korzystają z usługi Delta Lake. Te tabele nie zapewniają gwarancji transakcyjnych ani zoptymalizowanej wydajności tabel delty.
Tabele przechowują wiersze danych. Tabela znajduje się w schemacie i zawiera wiersze danych. W poniższym przykładzie przedstawiono tabelę prod.people_ops_employees zawierającą dane o pięciu pracownikach. Metadane są rejestrowane w Unity Catalog, a dane są przechowywane w magazynie w chmurze.
Podstawowe uprawnienia tabeli
Aby utworzyć tabelę, użytkownicy muszą mieć uprawnienia CREATE TABLE
i USE SCHEMA
do schematu oraz muszą mieć uprawnienie USE CATALOG
do jego katalogu nadrzędnego. Aby wykonać zapytanie dotyczące tabeli, użytkownicy muszą mieć SELECT
uprawnienia do tabeli, USE SCHEMA
uprawnienia do jego schematu nadrzędnego i USE CATALOG
uprawnienia do katalogu nadrzędnego.
Aby uzyskać więcej informacji na temat uprawnień w Unity Catalog, zobacz Zarządzanie uprawnieniami w Unity Catalog.
Tabele w katalogu Unity
W Unity Catalog tabele znajdują się na trzecim poziomie trzypoziomowej przestrzeni nazw (catalog.schema.table
), jak pokazano w poniższej tabeli. Tabele zewnętrzne Unity Catalog mogą być tabelami Delta, ale nie muszą nimi być.
Tabele Delta
Poparta przez Delta Lake tabela Delta przechowuje dane jako katalog plików w magazynie obiektów w chmurze i rejestruje metadane tabeli w magazynie metadanych w katalogu i schemacie. Ponieważ tabele delty są domyślne w usłudze Databricks, większość odwołań do tabel opisuje zachowanie tabel delty, chyba że określono inaczej. Wszystkie tabele zarządzane w katalogu Unity i tabele przesyłania strumieniowego są tabelami Delta. Zobacz Co to jest usługa Delta Lake?.
Usługa Databricks zaleca, aby zawsze korzystać z tabel delty przy użyciu w pełni kwalifikowanych nazw tabel, a nie ścieżek plików.
Tabele zarządzane
Tabele zarządzane zarządzają bazowymi plikami danych wraz z rejestracją magazynu metadanych. Usługa Databricks zaleca używanie tabel zarządzanych za każdym razem, gdy tworzysz nową tabelę. Tabele zarządzane w katalogu Unity są domyślną opcją podczas tworzenia tabel w Azure Databricks. Zawsze używają usługi Delta Lake. Zobacz Praca z tabelami zarządzanymi.
Tabele zewnętrzne
Tabele zewnętrzne, czasami nazywane tabelami niezarządzanych, odwołują się do danych przechowywanych poza usługą Databricks w zewnętrznym systemie magazynu, takim jak magazyn obiektów w chmurze. Rozdzielają zarządzanie źródłowymi plikami danych od rejestracji katalogu metadanych. Unity Catalog >obsługuje tabele zewnętrzne w kilku formatach, w tym Delta Lake. Tabele zewnętrzne Unity Catalog mogą przechowywać pliki danych przy użyciu typowych formatów czytelnych przez systemy zewnętrzne. Zobacz Praca z tabelami zewnętrznymi.
Tablice strumieniowania
Tabele strumieniowe to tabele Delta, które są używane głównie do przetwarzania danych przyrostowych. Większość aktualizacji tabel przesyłania strumieniowego odbywa się za pośrednictwem operacji odświeżania.
Tabele przesyłania strumieniowego można zarejestrować w Unity Catalog przy użyciu Databricks SQL lub zdefiniować je jako część potoku DLT. Zobacz Jak działają tabele przesyłania strumieniowego, Ładowanie danych przy użyciu tabel przesyłania strumieniowego w usłudze Databricks SQLi Co to jest DLT?.
Tabele zewnętrzne
Tabele obce reprezentują dane przechowywane w systemach zewnętrznych połączonych z usługą Azure Databricks za pośrednictwem usługi Lakehouse Federation. Tabele obce są tylko do odczytu w usłudze Azure Databricks. Zobacz Co to jest Federacja Lakehouse?.
Tabele funkcji
Każda tabela Delta zarządzana przez Unity Catalog, która ma klucz podstawowy, jest tabelą cech. Możesz opcjonalnie skonfigurować tabele funkcji przy użyciu magazynu funkcji online dla przypadków użycia wymagających niskich opóźnień. Zobacz Praca z tabelami funkcji w składnicy funkcji przestrzeni roboczej (wersja archiwalna).
Tabele Hive (starsza wersja)
Tabele programu Hive opisują dwie odrębne pojęcia w usłudze Azure Databricks, które są starszymi wzorcami i nie są zalecane.
Tabele zarejestrowane przy użyciu starszego magazynu metadanych Hive przechowują dane w starszym katalogu głównym systemu plików DBFS domyślnie. Usługa Databricks zaleca migrowanie wszystkich tabel z przestarzałego HMS do Unity Catalog. Zobacz Obiekty bazy danych w starszym magazynie metadanych Hive.
Platforma Apache Spark obsługuje rejestrowanie tabel hive i wykonywanie na nich zapytań, ale te koderie nie są zoptymalizowane pod kątem usługi Azure Databricks. Usługa Databricks zaleca rejestrowanie tabel programu Hive tylko w celu obsługi zapytań dotyczących danych zapisywanych przez systemy zewnętrzne. Zobacz Tabela Programu Hive (starsza wersja).
Tabele na żywo (przestarzałe)
Termin tabele na żywo odnosi się do wcześniejszej implementacji funkcji, obecnie dostępnej jako zmaterializowane widoki. Każdy starszy kod, który odwołuje się do aktywnych tabel, powinien zostać zaktualizowany, aby używać syntaktyki dla zmaterializowanych widoków. Zobacz Co to jest DLT? i Używanie zmaterializowanych widoków w usłudze Databricks SQL.