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 bez použití výpočetních prostředků v Azure Databricks. Oprávnění katalogu Unity se nevynucují, když uživatelé přistupují k datovým souborům z externích systémů.
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
k externímu umístění, které uděluje přístup kLOCATION
přístupové tabulce. - Oprávnění
USE SCHEMA
nadřazeného schématu tabulky. - Oprávnění
USE CATALOG
k nadřazenému katalogu tabulky. - Oprávnění
CREATE TABLE
nadřazeného 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 tabulka vytvoří.<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:
Přetažení externí tabulky
Pokud chcete tabulku odstranit, musíte být jejím vlastníkem. 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.