Udostępnij za pośrednictwem


Praca z tabelami zewnętrznymi

Tabele zewnętrzne przechowują dane w katalogu w magazynie obiektów w dzierżawie chmury. Należy określić lokalizację magazynu podczas definiowania tabeli zewnętrznej.

Usługa Databricks zaleca używanie tabel zewnętrznych tylko wtedy, gdy wymagane jest również bezpośredni dostęp do danych z klientów spoza usługi Databricks. Uprawnienia katalogu Unity nie są wymuszane, gdy użytkownicy uzyskują dostęp do plików danych z systemów zewnętrznych.

Ostrzeżenie

W przypadku aktualizacji metadanych tabeli zewnętrznej przy użyciu klienta innego niż Databricks lub dostępu opartego na ścieżkach z poziomu Databricks, te metadane nie są automatycznie synchronizowane ze stanem w Unity Catalog. Usługa Databricks odradza wykonywanie takich aktualizacji metadanych, ale jeżeli je wykonasz, trzeba uruchomić MSCK REPAIR TABLE <table-name> SYNC METADATA, aby zaktualizować schemat w Unity Catalog. Zobacz REPAIR TABLE.

Uwaga

Ten artykuł koncentruje się na zewnętrznych tabelach Unity Catalog. Tabele zewnętrzne w starszym magazynie metadanych Hive mają różne zachowania. Zobacz Obiekty bazy danych w starszym magazynie metadanych Hive.

Praca z tabelami zewnętrznymi

Usługa Azure Databricks zarządza jedynie metadanymi tabel zewnętrznych i nie korzysta z lokalizacji magazynowej związanej ze schematem, który je zawiera. Rejestracja tabeli w Unity Catalog jest tylko wskaźnikiem na pliki danych. Po usunięciu tabeli zewnętrznej pliki danych nie zostaną usunięte.

Podczas tworzenia tabeli zewnętrznej można zarejestrować istniejący katalog plików danych jako tabelę lub podać ścieżkę do tworzenia nowych plików danych.

Tabele zewnętrzne mogą używać następujących formatów plików:

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARKIET
  • ORK
  • TEKST

Tworzenie tabeli zewnętrznej

Aby utworzyć tabelę zewnętrzną, można użyć poleceń SQL lub operacji zapisu ramki danych.

Zanim rozpoczniesz

Aby utworzyć tabelę zewnętrzną, musisz spełnić następujące wymagania dotyczące uprawnień:

  • Uprawnienie CREATE EXTERNAL TABLE w lokalizacji zewnętrznej, które umożliwia dostęp do LOCATION przez tabelę zewnętrzną.
  • Uprawnienie USE SCHEMA na schemacie nadrzędnym tabeli.
  • Uprawnienie USE CATALOG w katalogu nadrzędnym tabeli.
  • Uprawnienie CREATE TABLE na schemacie nadrzędnym tabeli.

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ć tabelę zewnętrzną.

W poniższych przykładach zastąp wartości symboli zastępczych:

  • <catalog>: nazwa wykazu, który będzie zawierać tabelę.
  • <schema>: nazwa schematu, który będzie zawierać tabelę.
  • <table-name>: nazwa tabeli.
  • <column-specification>: nazwa i typ danych dla każdej kolumny.
  • <bucket-path>: Ścieżka do kubełka w chmurze, gdzie zostanie utworzona tabela.
  • <table-directory>: katalog, w którym zostanie utworzona tabela. Użyj unikatowego katalogu dla każdej tabeli.
CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';

Aby uzyskać więcej informacji na temat parametrów tworzenia tabeli, zobacz CREATE TABLE.

Operacje zapisu ramki danych

Wielu użytkowników tworzy tabele zewnętrzne 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 zewnętrznej w usłudze Azure Databricks:

Usuń tabelę zewnętrzną

Aby usunąć tabelę, musisz być jej właścicielem lub mieć uprawnienia MANAGE na tabeli. Aby usunąć tabelę zewnętrzną, uruchom następujące polecenie SQL:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Katalog Unity nie usuwa danych w przechowywaniu danych w chmurze podczas usuwania tabeli zewnętrznej. Jeśli chcesz usunąć dane skojarzone z tabelą, musisz bezpośrednio usunąć pliki danych bazowych.

Przykładowy notebook: tworzenie tabel zewnętrznych

W poniższym przykładowym notesie można utworzyć wykaz, schemat i tabelę zewnętrzną oraz zarządzać uprawnieniami.

Tworzenie i zarządzanie tabelą zewnętrzną w notebooku Unity Catalog

Pobierz notes