Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 10.4 LTS és újabb
kizárólag Unity Katalógus
SYSTEM A katalógusban ez INFORMATION_SCHEMA egy szabványos SQL-séma, amely metaadatokat biztosít a metaadattár összes katalógusában található objektumokról. Nem tartalmaz metaadatokat az objektumokról hive_metastore .
A Unity-katalógusban létrehozott összes katalógus emellett automatikusan tartalmaz egy information_schema olyan metaadatokat is, amelyek csak az adott katalógusban lévő objektumok metaadatait ismertetik.
Mindkét információséma automatikusan szűri az eredményeket, hogy csak azokat az objektumokat tartalmazza, amelyekhez Unity Catalog-jogosultságokkal rendelkezik. Ez a viselkedés eltér a többi Azure Databricks-rendszertáblától. Lásd : Az információs séma rendszertáblái hogyan kezelik az engedélyeket.
Az információs séma célja egy SQL-alapú, jogosultságalapú és önleíró API biztosítása a katalógus metaadatainak eléréséhez.
Az információs sémarendszer-táblák engedélyeinek kezelése
system.information_schema abban különbözik a többi rendszertáblától, hogy automatikus szűrést implementál. Ez azt jelenti, hogy csak azokat az objektumokat (katalógusokat, sémákat, táblákat, oszlopokat stb.) látja, amelyekhez hozzáféréssel rendelkezik a Unity Catalogban. Ha a jogosultságok megváltoznak, az információs sémában látható adatok ennek megfelelően változnak. Lekérdezéskor information_schema.tablespéldául csak azoknak a tábláknak a sorait adja vissza a rendszer, amelyek megtekintésére engedéllyel rendelkezik.
A többi rendszertáblától eltérően az információs séma nem igényel explicit SELECT engedélyt. A hozzáférést automatikusan a Unity Catalog-jogosultságok szabályozzák. Csak azokat az objektumokat látja, amelyekhez már rendelkezik hozzáféréssel.
Az információs séma entitáskapcsolati diagramja
Az alábbi entitáskapcsolati (ER) diagram áttekintést nyújt az információs sémanézetek egy részhalmazáról, valamint arról, hogy ezek hogyan kapcsolódnak egymáshoz.
Információs sémanézetek
| Név | Leírás |
|---|---|
| ABAC_POLICY_DEFINITIONS | Az attribútumalapú hozzáférés-vezérlési (ABAC) szabályzatokat ismerteti, amelyek a katalógusban lévő biztonságos kulcsokhoz vannak csatolva. |
| CATALOG_PRIVILEGES | Felsorolja azokat a szereplőket, akiknek jogosultságai vannak a katalógusokon. |
| CATALOG_PROVIDER_SHARE_USAGE | A katalógusokra csatlakoztatott szolgáltatói megosztásokat ismerteti. |
| CATALOG_TAGS | A katalógusokra alkalmazott címkéket tartalmazza. |
| CATALOGS | A katalógusokat ismerteti. |
| CHECK_CONSTRAINTS | Jövőbeli használatra fenntartva. |
| COLUMN_MASKS | A katalógus táblázatoszlopainak oszlopmaszkjait ismerteti. |
| COLUMN_TAGS | Oszlopcímkézési metaadatokat tartalmaz egy táblán belül. |
| COLUMNS | A katalógusban található táblák és nézetek oszlopait ismerteti. |
| CONNECTION_PRIVILEGES | Azokat a tagokat sorolja fel, akiknek jogosultsága van az idegen kapcsolatokon. |
| CONNECTIONS | A külföldi kapcsolatokat ismerteti. |
| CONSTRAINT_COLUMN_USAGE | A katalógus oszlopainak hivatkozási korlátait ismerteti. |
| CONSTRAINT_TABLE_USAGE | A katalógus tábláira vonatkozó korlátozásokat ismerteti. |
| CREDENTIAL_PRIVILEGES | Felsorolja azokat a főszereplőket, akiknek jogosultságai vannak a hitelesítő adatokhoz. |
| CREDENTIALS | A hitelesítő adatokat ismerteti. |
| EXTERNAL_LOCATION_PRIVILEGES | A külső helyeken jogosultságokkal rendelkező |
| EXTERNAL_LOCATIONS | A külső helyeket ismerteti. |
| INFORMATION_SCHEMA_CATALOG_NAME | Az információs séma katalógusának nevét adja vissza. |
| KEY_COLUMN_USAGE | A katalógus elsődleges vagy idegenkulcs-korlátozásainak oszlopait sorolja fel. |
| METASTORE_PRIVILEGES | Az aktuális metaadattárban jogosultságokkal rendelkező tagok listája. |
| METASTORES | Az aktuális metaadattárat ismerteti. |
| PARAMETERS | A katalógus rutinjainak (függvényeinek) paramétereit ismerteti. |
| PROVIDERS | A szolgáltatókat ismerteti. |
| RECIPIENT_ALLOWED_IP_RANGES | A címzettek számára engedélyezett IP-tartományok listája. |
| RECIPIENT_TOKENS | Kilistázza a címzettek tokenjeit. |
| RECIPIENTS | A címzetteket ismerteti. |
| REFERENTIAL_CONSTRAINTS | A katalógusban definiált hivatkozási (idegenkulcs-) korlátozásokat ismerteti. |
| ROUTINE_COLUMNS | A táblaértékelt függvények eredményoszlopait ismerteti. |
| ROUTINE_PRIVILEGES | Felsorolja azokat az illetékes személyeket, akiknek jogosultságaik vannak a katalógus rutinjaira. |
| ROUTINES | A katalógusban szereplő rutinokat (függvényeket) ismerteti. |
| ROW_FILTERS | A katalógus tábláinak sorszűrőit ismerteti. |
| SCHEMA_PRIVILEGES | Felsorolja azokat az érintetteket, amelyek privilégiumokkal rendelkeznek a katalógus sémáiban. |
| SCHEMA_TAGS | Sémacímkézési metaadatokat tartalmaz a sémán belül. |
| SCHEMA_SHARE_USAGE | A megosztásokban hivatkozott sémák leírása. |
| SCHEMATA | A katalógus sémáit ismerteti. |
| SHARE_RECIPIENT_PRIVILEGES | A megosztásokhoz hozzáférést kapó címzetteket ismerteti. |
| SHARES | A részvényeket ismerteti. |
| STORAGE_CREDENTIAL_PRIVILEGES | [Elavult] Felsorolja azokat az alapfeleket, akiknek jogosultságaik vannak a tárhely-hitelesítő adatokon. |
| STORAGE_CREDENTIALS | [Elavult] A tárolási hitelesítő adatokat ismerteti. |
| TABLE_CONSTRAINTS | A katalógusban található összes elsődleges és idegen kulcsra vonatkozó metaadatokat ismerteti. |
| TABLE_PRIVILEGES | A katalógusban található táblákon és nézeteken jogosultságokkal rendelkező kulcsfigurák listája. |
| TABLE_SHARE_USAGE | A megosztásokban hivatkozott táblákat ismerteti. |
| TABLE_TAGS | Táblacímkéző metaadatokat tartalmaz egy táblán belül. |
| TABLES | A katalógusban definiált táblákat és nézeteket ismerteti. |
| VIEWS | A katalógus nézeteivel kapcsolatos konkrét információkat ismerteti. |
| VOLUMES | A katalógusban definiált köteteket ismerteti. |
| VOLUME_PRIVILEGES | A katalógus köteteihez jogosultsággal rendelkező tagok listája. |
| VOLUME_TAGS | Kötetre alkalmazott mennyiségi címkézési metaadatokat tartalmaz. |
Jegyzetek
- Az információs séma jogosultságérzékeny szűrést valósít meg. Automatikusan csak azokat az objektumokat látja, amelyekhez Unity Catalog-engedélyekkel rendelkezik. Lásd : Az információs séma rendszertáblái hogyan kezelik az engedélyeket.
- Előfordulhat, hogy manuális szinkronizálásra
REPAIR TABLEvan szükség ahhoz, hogy a katalógus metaadatainak változásai megjelenjenek az információs sémában. További információért lásd REPAIR TABLE. - Az oszlop- és címkenevek kivételével minden azonosító kisbetűként
STRINGlesz tárolva az információs sémában. A lekérdezési teljesítmény javítása érdekében kerülje aLOWER()vagyUPPER()függvények használatát az azonosító oszlopon. Ehelyett hasonlítsa össze közvetlenül az azonosítókat kisbetűs értékekkel. - A lekérdezési időtúllépések elkerülése érdekében szelektív szűrőket kell alkalmazni az információs séma lekérdezésekor (például
WHERE table_catalog = 'main' AND table_schema = 'default'). A fenti dokumentációban megtalálja az egyes információsématáblák szűrőiként használható oszlopok teljes listáját.- Ne feledje, hogy
LIMITpushdown jelenleg nem támogatott, így bár lecsökkentheti az eredményeket, nem javítja a teljesítményt.
- Ne feledje, hogy
Példák
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Az alábbi példák a rendszerszintű információs sématáblákat használó munkafolyamatokra mutatnak be példákat.
Ha meg szeretné tekinteni az elmúlt 24 órában létrehozott összes táblát, a lekérdezés az alábbihoz hasonlóan nézhet ki.
> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
FROM system.information_schema.tables
WHERE datediff(now(), last_altered) < 1;
Ha meg szeretné tekinteni, hogy hány táblája van az egyes sémákban, vegye figyelembe az alábbi példát.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC