Praca z tabelami zewnętrznymi

Tabele zewnętrzne przechowują dane w katalogu w magazynie obiektów w chmurze 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 potrzebujesz bezpośredniego dostępu do danych bez korzystania z obliczeń w usłudze Azure Databricks. Uprawnienia wykazu aparatu 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 tabelach zewnętrznych wykazu aparatu Unity. 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 tylko metadanymi tabel zewnętrznych i nie używa lokalizacji magazynu skojarzonej ze schematem zawierającym. Rejestracja tabeli w wykazie aparatu Unity jest tylko wskaźnikiem do plików 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 do lokalizacji zewnętrznej, która udziela dostępu do LOCATION tabeli zewnętrznej.
  • Uprawnienie USE SCHEMA do schematu nadrzędnego tabeli.
  • Uprawnienie USE CATALOG do katalogu nadrzędnego tabeli.
  • Uprawnienie CREATE TABLE do schematu nadrzędnego 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 zasobnika magazynu w chmurze, w którym 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:

Usuwanie tabeli zewnętrznej

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

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

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

Przykładowy notes: tworzenie tabel zewnętrznych

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

Tworzenie tabeli zewnętrznej i zarządzanie nią w notesie wykazu aparatu Unity

Pobierz notes