Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Important
Tabele Delta Lake zarządzane przez Unity Catalog są dostępne w ogólnej wersji. Tabele Apache Iceberg zarządzane przez Katalog Unity są dostępne w publicznej wersji zapoznawczej i w Databricks Runtime 16.4 LTS i wyższych.
Na tej stronie opisano tabele zarządzane przez Unity Catalog w Delta Lake i Apache Iceberg, jako domyślny i zalecany typ tabeli w Azure Databricks. Te tabele są w pełni zarządzane i zoptymalizowane przez Unity Catalog, oferując wydajność, zalety operacyjne oraz niższe koszty magazynowania i obliczeń w porównaniu z tabelami zewnętrznymi i zagranicznymi, ponieważ zarządzane tabele uczą się na podstawie wzorców odczytu i zapisu. Katalog Unity zarządza wszystkimi obowiązkami odczytu, zapisu, magazynowania i optymalizacji dla tabel zarządzanych. Zobacz Konwertowanie tabeli zewnętrznej na tabelę wykazu zarządzanego aparatu Unity.
Pliki danych dla tabel zarządzanych są przechowywane w schemacie lub wykazie zawierającym je. Zobacz Określanie zarządzanej lokalizacji magazynu w katalogu Unity.
Usługa Databricks zaleca korzystanie z tabel zarządzanych w celu skorzystania z:
- Obniżone koszty magazynowania i zasobów obliczeniowych.
- Szybsza wydajność zapytań we wszystkich typach klientów.
- Automatyczna konserwacja i optymalizacja tabel.
- Bezpieczny dostęp dla klientów niekorzystających z Databricks za pomocą otwartych interfejsów API.
- Obsługa formatów Delta Lake i Iceberg.
- Automatyczne uaktualnienia do najnowszych funkcji platformy.
Tabele zarządzane obsługują współdziałanie, umożliwiając dostęp z klienta Delta Lake i Iceberg. Dzięki otwartym interfejsom API i udostępnianiu poświadczeń Unity Catalog umożliwia aparatom zewnętrznym, takim jak Trino, DuckDB, Apache Spark, Daft i Iceberg, oraz zintegrowanym aparatom katalogu REST, takim jak Dremio, uzyskanie dostępu do zarządzanych tabel. W przypadku klientów zewnętrznych, którzy nie obsługują otwartych interfejsów API, można użyć trybu zgodności do odczytywania tabel zarządzanych przy użyciu dowolnego klienta usługi Delta Lake lub Iceberg. Funkcja Delta Sharing, protokół open source, umożliwia bezpieczne, zarządzane udostępnianie danych partnerom zewnętrznym i platformom.
Możesz pracować z tabelami zarządzanymi we wszystkich językach i produktach obsługiwanych w usłudze Azure Databricks. Musisz mieć pewne uprawnienia do tworzenia, aktualizowania, usuwania lub wykonywania zapytań względem tabel zarządzanych. Zobacz Zarządzanie uprawnieniami w Unity Catalog.
Note
Ta strona koncentruje się na tabelach zarządzanych w katalogu Unity. W przypadku tabel zarządzanych w starszym magazynie metadanych Hive, zobacz Obiekty bazy danych w starszym magazynie metadanych Hive.
Dlaczego warto używać zarządzanych tabel w Unity Catalog?
Tabele zarządzane w Unity Catalog automatycznie optymalizują koszty magazynowania i szybkość zapytań, korzystając z technologii napędzanych sztuczną inteligencją, takich jak automatyczne klastrowanie, kompresowanie rozmiaru plików i inteligentne zbieranie statystyk. Te tabele upraszczają zarządzanie danymi dzięki funkcjom takim jak automatyczne czyszczenie i buforowanie metadanych, jednocześnie zapewniając współdziałanie z narzędziami zewnętrznymi Delta i Iceberg.
Poniższe funkcje są unikatowe dla tabel zarządzanych przez wykaz aparatu Unity i nie są dostępne dla tabel zewnętrznych i tabel obcych.
| Feature | Benefits | Włączone domyślnie? | Konfigurowalne? |
|---|---|---|---|
| Optymalizacja predykcyjna | Automatycznie optymalizuje układ danych i obliczenia przy użyciu sztucznej inteligencji, więc nie trzeba ręcznie obsługiwać operacji dla tabel zarządzanych. Usługa Databricks zaleca włączenie optymalizacji predykcyjnej dla wszystkich zarządzanych tabel w celu zmniejszenia kosztów magazynowania i obliczeń. Optymalizacja predykcyjna jest uruchamiana automatycznie:
|
Tak, dla wszystkich nowych kont utworzonych 11 listopada 2024 r. lub później. W przypadku bieżących kont usługa Azure Databricks zaczyna domyślnie wdrażać optymalizację predykcyjną. Zobacz Sprawdzanie, czy optymalizacja predykcyjna jest włączona. |
Tak. Zobacz Włączanie optymalizacji predykcyjnej. |
| Automatyczne klastrowanie cieczy | W przypadku tabel z optymalizacją predykcyjną włączenie automatycznego klastrowania cieczy umożliwia usłudze Azure Databricks inteligentne wybieranie kluczy klastrowania. W miarę zmiany wzorców zapytań usługa Azure Databricks automatycznie aktualizuje klucze klastrowania w celu zwiększenia wydajności i obniżenia kosztów. | Nie. | Tak. Zobacz Włączanie klastrowania cieczy. |
| Buforowanie metadanych | Buforowanie w pamięci metadanych transakcji zwiększa wydajność zapytań, minimalizując żądania do dziennika transakcji przechowywanego w chmurze. Ta funkcja zwiększa wydajność zapytań. | Tak | Nie. Buforowanie metadanych jest zawsze włączone dla tabel zarządzanych. |
Automatyczne usuwanie plików po poleceniu DROP TABLE |
Jeśli usuniesz zarządzaną tabelę, usługa Azure Databricks usunie dane w magazynie w chmurze po upływie 8 dni, zmniejszając koszty magazynowania. W przypadku tabel zewnętrznych należy ręcznie przejść do zasobnika magazynu i usunąć pliki. | Tak | Nie. W przypadku tabel zarządzanych pliki są zawsze usuwane automatycznie po 8 dniach. |
Uzyskiwanie dostępu do danych usługi Databricks przy użyciu systemów zewnętrznych
Tabele zarządzane obsługują interoperacyjność, zezwalając na dostęp z klientów Delta Lake i Iceberg. Dzięki otwartym interfejsom API i dystrybucji poświadczeń, Unity Catalog umożliwia zewnętrznym aparatom, takim jak Trino, DuckDB, Apache Spark, Daft i Iceberg, oraz zintegrowanym z katalogiem REST aparatom, takim jak Dremio i Snowflake, aby uzyskać dostęp do zarządzanych tabel. Zapoznaj się z listą obsługiwanych integracji zewnętrznych silników lub sprawdź dokumentację swojego silnika, jeśli nie znajduje się na tej liście.
Następujące otwarte interfejsy API zapewniają systemom zewnętrznym dostęp do tabel zarządzanych przez katalog Unity:
- Interfejs API REST Unity: zapewnia klientom Delta dostęp tylko do odczytu do zarządzanych tabel Delta.
- Katalog REST Iceberg (IRC): zapewnia klientom Iceberg dostęp do odczytu i zapisu do zarządzanych tabel Iceberg oraz dostęp tylko do odczytu do tabel Delta z włączonymi odczytami Iceberg (UniForm).
Oba interfejsy API obsługują wydawanie poświadczeń, które zapewnia tymczasowe, ograniczone poświadczenia dziedziczące uprawnienia podmiotu zabezpieczeń usługi Azure Databricks, który złożył żądanie, zachowując kontrolę i zabezpieczenia.
Ponadto funkcja Delta Sharing to protokół typu open source, który umożliwia bezpieczny i zarządzany dostęp do danych partnerom zewnętrznym i platformom. Możesz użyć Delta Sharing, aby zapewnić partnerom tymczasowy dostęp tylko do odczytu.
Wszystkie operacje odczytu i zapisu w zarządzanych tabelach muszą używać nazw tabel oraz, gdzie występują, nazw wykazów i schematów. Na przykład catalog_name.schema_name.table_name. Dostęp oparty na ścieżkach do tabel zarządzanych przez Unity Catalog nie jest obsługiwany (z wyjątkiem trybu zgodności), ponieważ omija mechanizmy kontroli dostępu Unity Catalog i uniemożliwia prawidłowe działanie funkcji zarządzanych tabel.
Tworzenie tabeli zarządzanej
Aby utworzyć zarządzaną tabelę, musisz mieć następujące elementy:
-
USE SCHEMAw schemacie nadrzędnym tabeli. -
USE CATALOGw katalogu nadrzędnym tabeli. -
CREATE TABLEw schemacie nadrzędnym tabeli.
Użyj następującej składni SQL, aby utworzyć pustą tabelę zarządzaną przy użyciu języka SQL. Zastąp wartości zastępcze:
-
<catalog-name>: nazwa wykazu, który będzie zawierać tabelę. -
<schema-name>: nazwa schematu zawierająca tabelę. -
<table-name>: nazwa tabeli. -
<column-specification>: Nazwa i typ danych każdej kolumny.
-- Create a managed Delta table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
-- Create a managed Iceberg table
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
)
USING iceberg;
Aby zachować wydajność operacji odczytu i zapisu, usługa Azure Databricks okresowo uruchamia operacje w celu zoptymalizowania zarządzanych metadanych tabeli Iceberg. To zadanie jest wykonywane przy użyciu obliczeń bezserwerowych, które mają MODIFY uprawnienia do tabeli Iceberg. Ta operacja zapisuje tylko metadane tabeli, a obliczenia zachowują tylko uprawnienia do tabeli przez czas trwania zadania.
Note
Aby utworzyć tablicę Iceberg, jawnie określ USING iceberg. W przeciwnym razie usługa Azure Databricks domyślnie tworzy tabelę Delta Lake.
Tabele zarządzane można tworzyć na podstawie wyników zapytania lub operacji zapisu ramki danych. W poniższych artykułach przedstawiono niektóre z wielu wzorców, których można użyć do utworzenia tabeli zarządzanej w usłudze Azure Databricks:
- CREATE TABLE [UŻYCIE]
- CREATE TABLE LIKE
- tworzenie lub modyfikowanie tabeli przy użyciu przesyłania plików
Usuwanie zarządzanej tabeli
Aby usunąć zarządzaną tabelę, musisz mieć następujące elementy:
-
MANAGEw tabeli lub musisz być właścicielem tabeli. -
USE SCHEMAw schemacie nadrzędnym tabeli. -
USE CATALOGw katalogu nadrzędnym tabeli.
Aby usunąć zarządzaną tabelę, uruchom następujące polecenie SQL:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Unity Catalog obsługuje polecenie UNDROP TABLE do odzyskiwania usuniętych tabel zarządzanych przez 8 dni. Po upływie 8 dni usługa Azure Databricks oznacza dane bazowe jako przeznaczone do usunięcia z dzierżawy chmury i usuwa pliki w trakcie automatycznych prac konserwacyjnych dotyczących tabel. Zobacz COFANIE.