Külső helyek

Csak a Következőre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime jelölje be az igennel jelölt jelölőnégyzetet Unity Catalog

A Unity Catalog és a beépített Azure Databricks Hive metaadattár alapértelmezett helyeket használ a felügyelt táblákhoz. A Unity Catalog számos új biztonságos objektumot vezet be, hogy jogosultságokat biztosítson a felhőobjektum-tárolóban lévő adatok számára.

  • tárolási hitelesítő adatok

    Egy Unity Catalog-objektum, amellyel hosszú távú hitelesítő adatokat lehet absztrakcióra használni a felhőalapú tárolószolgáltatóktól.

  • külső hely

    Egy Unity Catalog-objektum, amely egy felhőalapú objektum tárolási URI-ját társítja egy tároló hitelesítő adataihoz.

  • külső tábla

    Unity Catalog-tábla, amely unitykatalógus által felügyelt külső helyen jött létre.

Külső hely

A külső hely egy biztonságos objektum, amely egyesíti a tárolási útvonalat egy olyan tároló hitelesítő adatokkal, amelyek engedélyezik az elérési úthoz való hozzáférést.

A külső hely létrehozója a kezdeti tulajdonosa. A külső hely tulajdonosa módosíthatja a külső hely nevét, URI-ját és tárolási hitelesítő adatait.

A külső hely létrehozása után hozzáférést biztosíthat a fiókszintű tagoknak (felhasználóknak és csoportoknak).

A külső hely használatára engedéllyel rendelkező felhasználók vagy csoportok a hely elérési útjának bármely elérési útját elérhetik anélkül, hogy közvetlenül hozzáférnek a tároló hitelesítő adataihoz.

A hozzáférés-vezérlés további finomításához használhatja a KÜLSŐ TÁBLÁKON a GRANT-et az egyes fájlokhoz való hozzáférés külső helyen belüli beágyazásához.

A külső helynevek nem minősítettek, és egyedinek kell lenniük a metaadattárban.

A külső helyek tárolási útvonala nem tárolható egy másik külső hely tárolási útvonalán belül, vagy egy külső tábla tárolási útvonalán belül explicit tárolási hitelesítő adatok használatával.

Figyelmeztetés

Ha egy séma (adatbázis) regisztrálva van a munkaterületszintű Hive-metaadattárban, a séma beállítással történő elvetése esetén a CASCADE sémahelyen lévő összes fájl rekurzív módon törlődik, függetlenül a tábla típusától (felügyelt vagy külső).

Ha a séma egy Unity Catalog-metaadattárban van regisztrálva, a Unity Catalog által felügyelt táblák fájljai rekurzív módon törlődnek. A külső táblák fájljai azonban nem törlődnek. Ezeket a fájlokat közvetlenül a felhőtárhely-szolgáltatóval kell kezelnie.

Ezért a véletlen adatvesztés elkerülése érdekében soha ne regisztráljon sémát hive-metaadattárban meglévő adatokkal rendelkező helyre. Ne hozzon létre új külső táblákat a Hive metaadattár-sémái által kezelt vagy a Unity Catalog által felügyelt táblákat tartalmazó helyen.

Kapcsolatok grafikus ábrázolása

Az alábbi ábra a két kapcsolat kapcsolatát ismerteti:

  • tárolási hitelesítő adatok
  • külső helyek
  • külső táblák
  • tárolási útvonalak
  • IAM-entitások
  • Azure-szolgáltatásfiókok

Külső hely er diagramja

Példák

-- Grant `finance` user permission to create external location on `my_azure_storage_cred` storage credential, and then create an external location on the specific path to which `my_azure_storage_cred` has access
> GRANT CREATE EXTERNAL LOCATION ON STORAGE CREDENTIAL `my_azure_storage_cred` TO `finance`
> CREATE EXTERNAL LOCATION `finance_loc` URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
    WITH (CREDENTIAL `my_azure_storage_cred`)
    COMMENT 'finance';

-- Grant read, write, and create table access to the finance location to `finance` user
> GRANT READ FILES, WRITE FILES, CREATE EXTERNAL TABLE ON EXTERNAL LOCATION `finance_loc` TO `finance`;

-- `finance` can read from any storage path under abfss://depts/finance but nowhere else
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance` WITH (CREDENTIAL my_azure_storage_cred);
  100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
  Error

-- `finance` can create an external table over specific object within the `finance_loc` location
> CREATE TABLE main.default.sec_filings LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings';

-- Cannot list files under an external table with a user that doesn't have SELECT permission on it
> LIST 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings'
  Error
> LIST 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log'
  Error