Külső táblák
A következőkre vonatkozik: Databricks SQL Databricks Runtime
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.
-
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.
-
Egy Unity Catalog-objektum, amely egy felhőalapú objektum tárolási URI-ját társítja egy tároló hitelesítő adataihoz.
-
Unity Catalog-tábla, amely unitykatalógus által felügyelt külső helyen jött létre.
Külső tábla
A külső táblák olyan táblák , amelyek záradék használatával hivatkoznak egy külső tárolási útvonalra LOCATION
.
A tárolási útvonalat egy meglévő külső helyen kell tárolni, amelyhez hozzáférést kapott.
Másik lehetőségként hivatkozhat egy tár hitelesítő adataira , amelyhez hozzáférést kapott.
A külső táblák használata elvonja a tároló elérési útját, a külső helyet és a tároló hitelesítő adatait azon felhasználók számára, akik hozzáférést kapnak a külső táblához.
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
Példák
-- `finance` can create an external table over specific object within the `finance_loc` location
> CREATE TABLE sec_filings LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings';
-- Create or replace an external table from a query
> CREATE OR REPLACE TABLE sec_filings
LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings'
AS (SELECT * FROM current_filings);
-- Cannot list files under an external table without permissions 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
-- Grant access to sec_filings to all employees
> GRANT SELECT ON TABLE sec_filings TO employee;
-- Any member of the `employee` group can securely read sec_filings
> SELECT count(1) FROM sec_filings;
20
-- Any member of the `employee` group can list files under the sec_filings table
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings`
_delta_log
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log`
00000.json