Współpraca z zewnętrznym tables
Zewnętrzne tables przechowują dane w katalogu w magazynie obiektów w chmurze dla klienta chmury. Należy określić lokalizację magazynową podczas definiowania zewnętrznego table.
Usługa Databricks rekomenduje używanie zewnętrznych tables tylko wtedy, gdy wymagany jest bezpośredni dostęp do danych bez korzystania z zasobów obliczeniowych w usłudze Azure Databricks. Uprawnienia Catalog systemu Unity nie są wymuszane, gdy użytkownicy uzyskują dostęp do plików danych z systemów zewnętrznych.
Uwaga
Ten artykuł koncentruje się na zewnętrznych aspektach Unity Catalogtables. Zewnętrzne elementy tables w starszym magazynie metadanych Hive mają różne zachowania. Zobacz Obiekty bazy danych w starszym magazynie metadanych Hive.
Praca z zewnętrznym zespołem tables
Usługa Azure Databricks zarządza tylko metadanymi zewnętrznymi dla tables i nie używa zarządzanej lokalizacji magazynowej skojarzonej z tą, która zawiera schema. Rejestracja table w systemie Unity Catalog jest tylko wskaźnikiem do plików danych. Po usunięciu tablezewnętrznego pliki danych nie zostaną usunięte.
Podczas tworzenia tablezewnętrznego można zarejestrować istniejący katalog plików danych jako table lub podać ścieżkę do tworzenia nowych plików danych.
Zewnętrzny tables może używać następujących formatów plików:
- DELTA
- CSV
- JSON
- AVRO
- PARKIET
- ORK
- TEKST
Twórz zewnętrzne table
Aby utworzyć zewnętrzną table, można użyć poleceń SQL lub operacji zapisu ramki danych.
Zanim rozpoczniesz
Aby utworzyć zewnętrzną table, musisz spełnić następujące wymagania dotyczące uprawnień:
- Uprawnienie
CREATE EXTERNAL TABLE
w lokalizacji zewnętrznej, które przyznaje dostęp doLOCATION
używanego przez zewnętrzny table. - Uprawnienie
USE SCHEMA
dla nadrzędnego schematable. - Uprawnienie
USE CATALOG
dla nadrzędnego catalogtable. - Uprawnienie
CREATE TABLE
dla nadrzędnego schematable.
Aby uzyskać więcej informacji na temat konfigurowania lokalizacji zewnętrznych, zobacz Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks.
Przykłady poleceń SQL
Użyj jednego z poniższych przykładów poleceń w notesie lub edytorze zapytań SQL, aby utworzyć zewnętrzną table.
W poniższych przykładach zastąp symbol zastępczy values:
-
<catalog>
: nazwa catalog, która będzie zawierać table. -
<schema>
: nazwa schema, która będzie zawierać table. -
<table-name>
: nazwa dla table. -
<column-specification>
: nazwa i typ danych dla każdego elementu column. -
<bucket-path>
: zostanie utworzona ścieżka do zasobnika magazynu w chmurze wheretable. -
<table-directory>
: zostanie utworzony katalog wheretable. Użyj unikatowego katalogu dla każdego table.
CREATE TABLE <catalog>.<schema>.<table-name>
(
<column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';
Aby uzyskać więcej informacji na temat tworzenia tableparameters, zobacz CREATE TABLE.
Operacje zapisu ramki danych
Wielu użytkowników tworzy zewnętrzne tables 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 zewnętrznego table w usłudze Azure Databricks:
Usuwanie table zewnętrznej
Aby usunąć table, musisz być jego właścicielem lub mieć uprawnienia MANAGE
w table. Aby usunąć zewnętrzny element table, uruchom następujące polecenie SQL.
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Unity Catalog nie usuwa danych w magazynie w chmurze, gdy usuniesz zewnętrzny table. Jeśli musisz remove danych skojarzonych z table, musisz bezpośrednio usunąć pliki danych bazowych.
Przykładowy notes: Utwórz zewnętrzny tables
Możesz użyć poniższego przykładowego zeszytu, aby utworzyć catalog, schemaoraz zewnętrzny table, a także zarządzać uprawnieniami do nich.