Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 10.4 LTS a vyšší
pouze Unity Catalog
SYSTEM V katalogu je standardní schéma SQL, INFORMATION_SCHEMA které poskytuje metadata o objektech ve všech katalogech v metastoru. Neobsahuje metadata o hive_metastore objektech.
Samostatně, každý katalog vytvořený v Unity Catalog také automaticky obsahuje information_schema metadata o objektech v tomto katalogu.
Oba typy informačních schémat automaticky filtrují výsledky tak, aby zahrnovaly pouze objekty, ke kterým máte oprávnění katalogu Unity pro přístup. Toto chování se liší od jiných systémových tabulek Azure Databricks. Přečtěte si , jak systémové tabulky schématu informací zpracovávají oprávnění.
Účelem informačního schématu je poskytnout API založené na SQL, které je si vědomé oprávnění a samo popisující, pro přístup k metadatům katalogu.
Jak systémové tabulky schématu informací zpracovávají oprávnění
system.information_schema liší se od ostatních systémových tabulek v tom, že implementuje automatické filtrování. To znamená, že uvidíte pouze objekty (katalogy, schémata, tabulky, sloupce atd.), ke kterým máte oprávnění k přístupu v katalogu Unity. Pokud se vaše oprávnění změní, změny v informačním schématu se odpovídajícím způsobem změní. Například při dotazování information_schema.tablesse vrátí pouze řádky pro tabulky, které máte oprávnění k zobrazení.
Stejně jako všechny ostatní systémové tabulky potřebujete explicitní USE a SELECT oprávnění pro přístup a dotazování ze schématu informací.
Diagram vztahů entit schématu informací
Následující diagram entitních vztahů (ER) nastiňuje přehled podmnožiny pohledů informačního schématu a jejich vzájemné vztahy.
Zobrazení schématu informací
| Název | Popis |
|---|---|
| CATALOG_PRIVILEGES | Uvádí subjekty, které mají oprávnění k katalogům. |
| CATALOG_PROVIDER_SHARE_USAGE | Popisuje sdílení zprostředkovatele namontované do katalogů. |
| CATALOG_TAGS | Obsahuje značky, které byly použity v katalozích. |
| CATALOGS | Popisuje katalogy. |
| CHECK_CONSTRAINTS | Vyhrazeno pro budoucí použití. |
| COLUMN_MASKS | Popisuje masky sloupců na sloupcích tabulky v katalogu. |
| COLUMN_TAGS | Obsahuje metadata označování sloupců v tabulce. |
| COLUMNS | Popisuje sloupce tabulek a zobrazení v katalogu. |
| CONNECTION_PRIVILEGES | Vypíše subjekty, které mají oprávnění k cizím připojením. |
| CONNECTIONS | Popisuje zahraniční připojení. |
| CONSTRAINT_COLUMN_USAGE | Popisuje omezení vztahující se ke sloupcům v katalogu. |
| CONSTRAINT_TABLE_USAGE | Popisuje omezení odkazující na tabulky v katalogu. |
| CREDENTIAL_PRIVILEGES | Seznam principálů, kteří mají oprávnění k pověření. |
| CREDENTIALS | Popisuje přihlašovací údaje. |
| EXTERNAL_LOCATION_PRIVILEGES | Uvádí subjekty, které mají přístupová práva k externím umístěním. |
| EXTERNAL_LOCATIONS | Popisuje externí lokace. |
| INFORMATION_SCHEMA_CATALOG_NAME | Vrátí název katalogu tohoto informačního schématu. |
| KEY_COLUMN_USAGE | Zobrazí sloupce omezení primárního nebo cizího klíče v katalogu. |
| METASTORE_PRIVILEGES | Uvádí subjekty, které mají oprávnění k aktuálnímu metastoru. |
| METASTORES | Popisuje aktuální metastore. |
| PARAMETERS | Popisuje parametry rutin (funkcí) v katalogu. |
| PROVIDERS | Popisuje poskytovatele. |
| RECIPIENT_ALLOWED_IP_RANGES | Zobrazí seznam povolených rozsahů IP adres pro příjemce. |
| RECIPIENT_TOKENS | Vypíše tokeny pro příjemce. |
| RECIPIENTS | Popisuje příjemce. |
| REFERENTIAL_CONSTRAINTS | Popisuje referenční omezení (cizí klíč) definovaná v katalogu. |
| ROUTINE_COLUMNS | Popisuje výsledné sloupce tabulkových hodnotných funkcí. |
| ROUTINE_PRIVILEGES | Uvádí subjekty, které mají oprávnění k rutinám v katalogu. |
| ROUTINES | Popisuje rutiny (funkce) v katalogu. |
| ROW_FILTERS | Popisuje filtry řádků u tabulek v katalogu. |
| SCHEMA_PRIVILEGES | Uvádí subjekty, které mají oprávnění ke schématům v katalogu. |
| SCHEMA_TAGS | Metadata pro označení schématu jsou obsažena v rámci schématu. |
| SCHEMA_SHARE_USAGE | Popisuje schémata odkazovaná ve sdílených položkách. |
| SCHEMATA | Popisuje schémata v katalogu. |
| SHARE_RECIPIENT_PRIVILEGES | Popisuje příjemce, kterým byl udělen přístup k podílům. |
| SHARES | Popisuje akcie. |
| STORAGE_CREDENTIAL_PRIVILEGES | [Zastaralé] Uvádí subjekty, které mají oprávnění k přístupovým údajům úložiště. |
| STORAGE_CREDENTIALS | [Zastaralé] Popisuje přihlašovací údaje úložiště. |
| TABLE_CONSTRAINTS | Popisuje metadata pro všechna omezení primárních a cizích klíčů v katalogu. |
| TABLE_PRIVILEGES | Uvádí subjekty, které mají oprávnění k tabulkám a zobrazením v katalogu. |
| TABLE_SHARE_USAGE | Popisuje tabulky odkazované ve sdílených složkách. |
| TABLE_TAGS | Obsahuje metadata označování tabulek v tabulce. |
| TABLES | Popisuje tabulky a zobrazení definovaná v katalogu. |
| VIEWS | Popisuje informace specifické pro zobrazení v katalozích. |
| VOLUMES | Popisuje svazky definované v katalogu. |
| VOLUME_PRIVILEGES | Uvádí subjekty, které mají oprávnění ke svazkům v katalogu. |
| VOLUME_TAGS | Obsahuje metadata pro označení svazků použitá na tyto svazky. |
Poznámky
- Schéma informací implementuje filtrování s podporou oprávnění. Automaticky se zobrazí jenom objekty, ke kterým máte oprávnění katalogu Unity pro přístup. Přečtěte si , jak systémové tabulky schématu informací zpracovávají oprávnění.
- Pro některé změny metadat katalogu může být nutná ruční synchronizace pomocí
REPAIR TABLE, aby se projevily ve schématu informací. Další informace najdete v tématu REPAIR TABLE. - Všechny identifikátory s výjimkou názvů sloupců a značek jsou uloženy ve schématu informací malými písmeny
STRING. V případě výkonu dotazů nepoužívejte funkce, jakoLOWER()je sloupec identifikátoru neboUPPER()funkce. Místo toho porovnejte identifikátory přímo pomocí malých písmen. - Pokud chcete zabránit vypršení časového limitu dotazu, použijte při dotazování schématu informací selektivní filtry (např.
WHERE table_catalog = 'main' AND table_schema = 'default'). Úplný seznam sloupců, které lze použít jako filtry pro každou tabulku schématu informací, najdete v dokumentaci výše.- Všimněte si, že
LIMITnabízená nabídka se v současné době nepodporuje, takže i když může zkrátit výsledky, nezlepší výkon.
- Všimněte si, že
Příklady
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Následují příklady pracovních postupů, které používají tabulky informačního schématu úrovně systému.
Pokud chcete zobrazit všechny tabulky vytvořené za posledních 24 hodin, váš dotaz by mohl vypadat takto.
> 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;
Pokud chcete zobrazit, kolik tabulek máte v každém schématu, zvažte následující příklad.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC