Sdílet prostřednictvím


Práce s externími tabulkami

Externí tabulky ukládají data v adresáři v cloudovém úložišti objektů ve vašem cloudovém tenantovi. Umístění úložiště je nutné zadat při definování externí tabulky.

Databricks doporučuje používat externí tabulky jenom v případech, kdy potřebujete přímý přístup k datům z jiných klientů než Databricks. Oprávnění katalogu Unity se nevynucují, když uživatelé přistupují k datovým souborům z externích systémů.

Varování

Pokud aktualizujete metadata externí tabulky pomocí klienta jiného než Databricks nebo přístupu na základě cesty z Databricks, nebudou tato metadata automaticky synchronizovat stav s katalogem Unity. Databricks nedoporučuje tyto aktualizace metadat, ale pokud je přesto provedete, musíte spustit MSCK REPAIR TABLE <table-name> SYNC METADATA, aby bylo schéma v katalogu Unity aktuální. Viz REPAIR TABLE.

Poznámka:

Tento článek se zaměřuje na externí tabulky katalogu Unity. Externí tabulky ve starším metastoru Hive mají různá chování. Viz Databázové objekty ve starší verzi metastoru Hive.

Práce s externími tabulkami

Azure Databricks spravuje pouze metadata pro externí tabulky a nepoužívá umístění úložiště pro správu přidružené k obsahujícímu schématu. Registrace tabulky v katalogu Unity je jen ukazatel na datové soubory. Když odstraníte externí tabulku, datové soubory se neodstraní.

Při vytváření externí tabulky můžete buď zaregistrovat existující adresář datových souborů jako tabulku, nebo zadat cestu k vytvoření nových datových souborů.

Externí tabulky můžou používat následující formáty souborů:

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARKETY
  • ORC
  • TEXT

Vytvoření externí tabulky

K vytvoření externí tabulky můžete použít příkazy SQL nebo operace zápisu datového rámce.

Než začnete

Pokud chcete vytvořit externí tabulku, musíte splňovat následující požadavky na oprávnění:

  • Oprávnění CREATE EXTERNAL TABLE pro externí umístění, které uděluje přístup k LOCATION, k němuž přistupuje externí tabulka.
  • Oprávnění USE SCHEMA v rámci nadřazeného schématu tabulky.
  • Oprávnění USE CATALOG na nadřazeném katalogu tabulky.
  • Oprávnění CREATE TABLE na nadřazeném schématu tabulky.

Další informace o konfiguraci externích umístění najdete v tématu Vytvoření externího umístění pro připojení cloudového úložiště k Azure Databricks.

Příklady příkazů SQL

K vytvoření externí tabulky použijte jeden z následujících příkladů příkazů v poznámkovém bloku nebo editoru dotazů SQL.

V následujících příkladech nahraďte zástupné hodnoty:

  • <catalog>: Název katalogu, který bude obsahovat tabulku.
  • <schema>: Název schématu, které bude obsahovat tabulku.
  • <table-name>: Název tabulky.
  • <column-specification>: Název a datový typ pro každý sloupec.
  • <bucket-path>: Cesta k kontejneru cloudového úložiště, kde se vytvoří tabulka.
  • <table-directory>: Adresář, ve kterém se vytvoří tabulka. Pro každou tabulku použijte jedinečný adresář.
CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';

Další informace o parametrech vytvoření tabulky najdete v tématu CREATE TABLE.

Operace zápisu datového rámce

Mnoho uživatelů vytváří externí tabulky z výsledků dotazu nebo operací zápisu do datového rámce. Následující články ukazují některé z mnoha vzorů, které můžete použít k vytvoření externí tabulky v Azure Databricks:

Odstranit externí tabulku

Pokud chcete tabulku odstranit, musíte být jejím vlastníkem nebo mít u tabulky oprávnění MANAGE. Pokud chcete vložit externí tabulku, spusťte následující příkaz SQL:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Při vyřazení externí tabulky katalog Unity neodstraní podkladová data v cloudovém úložišti. Pokud potřebujete odebrat data přidružená k tabulce, musíte přímo odstranit podkladové datové soubory.

ukázkový poznámkový blok: Vytvoření externích tabulek

Následující ukázkový poznámkový blok můžete použít k vytvoření katalogu, schématu a externí tabulky a ke správě oprávnění k nim.

Vytvoření a správa externí tabulky v poznámkovém bloku katalogu Unity

Pořiďte si poznámkový blok