Megosztás a következőn keresztül:


Külső táblákkal dolgozni

A külső táblák egy könyvtárban tárolják az adatokat a felhőbeli bérlő felhőobjektum-tárolójában. Külső tábla definiálásakor meg kell adnia egy tárolóhelyet.

A Databricks csak akkor javasolja a külső táblák használatát, ha a nem Databricks-ügyfelek adataihoz is közvetlen hozzáférést igényel. A Unity Catalog-jogosultságok nem lesznek kényszerítve, ha a felhasználók külső rendszerekből férnek hozzá adatfájlokhoz.

Figyelmeztetés

Ha nem Databricks-ügyféllel frissíti a külső tábla metaadatait, vagy útvonalalapú hozzáférést használ a Databricksből, akkor a metaadatok nem szinkronizálják automatikusan az állapotot a Unity Katalógussal. A Databricks nem javasolja az ilyen metaadatok frissítését, de ha mégis végrehajt egyet, akkor futtatnia kell a MSCK REPAIR TABLE <table-name> SYNC METADATA-t a séma frissítéséhez a Unity Catalogban. Lásd: REPAIR TABLE.

Feljegyzés

Ez a cikk a Unity Catalog külső tábláira összpontosít. Az örökölt Hive-metaadattár külső táblái eltérő viselkedésűek. Tekintse meg az adatbázis-objektumokat az örökölt Hive-metaadattárban.

Külső táblákkal dolgozni

Az Azure Databricks csak a külső táblák metaadatait kezeli, és nem használja az azt tartalmazó sémához társított tárolási helyet. A Unity Catalog táblaregisztrációja csak egy adatfájlokra mutató mutató. Külső tábla elvetésekor a rendszer nem törli az adatfájlokat.

Külső tábla létrehozásakor regisztrálhat egy meglévő adatfájl-könyvtárat táblaként, vagy megadhatja az új adatfájlok létrehozásának elérési útját.

A külső táblák a következő fájlformátumokat használhatják:

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARKETTA
  • ORK
  • SMS

Külső tábla létrehozása

Külső tábla létrehozásához használhat SQL-parancsokat vagy Adatkeret-írási műveleteket.

Mielőtt elkezdené

Külső tábla létrehozásához meg kell felelnie az alábbi engedélykövetelményeknek:

  • A CREATE EXTERNAL TABLE jogosultság egy külső helyen, amely hozzáférést biztosít a külső tábla által elért LOCATION.
  • A tábla szülősémáján lévő USE SCHEMA engedély.
  • A tábla szülőkatalógusának USE CATALOG engedélye.
  • A tábla szülősémáján lévő CREATE TABLE engedély.

A külső helyek konfigurálásával kapcsolatos további információkért tekintse meg a felhőbeli tároló Azure Databrickshez való csatlakoztatásához szükséges külső hely létrehozását ismertető témakört.

SQL-parancsok – példák

Külső tábla létrehozásához használja az alábbi parancsok egyikét egy jegyzetfüzetben vagy az SQL-lekérdezésszerkesztőben.

Az alábbi példákban cserélje le a helyőrző értékeket:

  • <catalog>: A táblát tartalmazó katalógus neve.
  • <schema>: A táblát tartalmazó séma neve.
  • <table-name>: A tábla neve.
  • <column-specification>: Az egyes oszlopok neve és adattípusa.
  • <bucket-path>: Annak a felhőbeli tárolónak az elérési útja, ahol a tábla létre lesz hozva.
  • <table-directory>: Egy könyvtár, amelyben a tábla létrejön. Minden táblához használjon egyedi könyvtárat.
CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';

További információ a táblalétrehozás paramétereiről: CREATE TABLE.

Adatkeret írási műveletei

Sok felhasználó külső táblákat hoz létre lekérdezési eredményekből vagy DataFrame írási műveletekből. Az alábbi cikkek a külső táblák Azure Databricksen való létrehozásához használható számos minta közül mutatnak be néhányat:

Külső tábla törlése

Egy tábla elvetéséhez annak tulajdonosának kell lennie, vagy MANAGE jogosultsággal kell rendelkeznie a táblán. Külső tábla elvetéséhez futtassa a következő SQL-parancsot:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

A Unity Catalog nem törli az alapul szolgáló adatokat a felhőbeli tárolóban egy külső tábla elvetésekor. Közvetlenül törölnie kell a mögöttes adatfájlokat, ha el kell távolítania a táblához társított adatokat.

Példajegyzetfüzet: Külső táblák létrehozása

Az alábbi példajegyzetfüzet segítségével katalógust, sémát és külső táblát hozhat létre, és kezelheti az engedélyeit.

Külső tábla létrehozása és kezelése a Unity Catalog-jegyzetfüzetben

Jegyzetfüzet lekérése