Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 10.4 LTS ve üzeri ![]()
Katalogda SYSTEM , INFORMATION_SCHEMA meta veri deposundaki tüm kataloglardaki nesneler hakkında meta veriler sağlayan bir SQL standart şemasıdır. Nesnelerle ilgili hive_metastore meta veriler içermez.
Ayrı olarak, Unity Kataloğu'nda oluşturulan her katalog otomatik olarak yalnızca bu katalogdaki nesnelerle ilgili meta verileri açıklayan bir information_schema içerir.
Her iki bilgi şeması türü de sonuçları yalnızca Unity Kataloğu ayrıcalıklarına sahip olduğunuz nesneleri içerecek şekilde otomatik olarak filtreler. Bu davranış diğer Azure Databricks sistem tablolarından farklıdır. Bkz. Bilgi şeması sistem tabloları izinleri nasıl işler?
Bilgi şemasının amacı, katalog meta verilerine erişmek için SQL tabanlı, ayrıcalık kullanan ve kendini açıklayan bir API sağlamaktır.
Bilgi şeması sistem tabloları izinleri nasıl işler?
system.information_schema , otomatik filtreleme uyguladığı diğer sistem tablolarından farklıdır. Bu, yalnızca Unity Kataloğu'nda erişim ayrıcalıklarına sahip olduğunuz nesneleri (kataloglar, şemalar, tablolar, sütunlar vb.) gördüğünüz anlamına gelir. Ayrıcalıklarınız değişirse, bilgi şemasında gördükleriniz buna göre değişir. Örneğin, sorguladığınızda information_schema.tables yalnızca görme izniniz olan tabloların satırları döndürülür.
Diğer tüm sistem tablolarında olduğu gibi, bilgi şemasına erişmek ve USE bu şemadan sorgulamak için açık SELECT ve izinlere ihtiyacınız vardır.
Bilgi şemasının varlık ilişkisi diyagramı
Aşağıdaki varlık ilişkisi (ER) diyagramı, bilgi şeması görünümlerinin bir alt kümesine ve bunların birbirleriyle ilişkisine genel bir bakış sağlar.
Bilgi şeması görünümleri
| Adı | Açıklama |
|---|---|
| CATALOG_PRIVILEGES | Kataloglarda ayrıcalıkları olan sorumluları listeler. |
| CATALOG_PROVIDER_SHARE_USAGE | Kataloglara monte edilen sağlayıcı paylaşımını açıklar. |
| CATALOG_TAGS | Kataloglara uygulanmış etiketleri içerir. |
| CATALOGS | Katalogları açıklar. |
| CHECK_CONSTRAINTS | Daha sonraki kullanımlar için ayrılmıştır. |
| COLUMN_MASKS | Katalogdaki tablo sütunlarındaki sütun maskelerini açıklar. |
| COLUMN_TAGS | Tablo içinde sütun etiketleme meta verilerini içerir. |
| COLUMNS | Katalogdaki tablo ve görünüm sütunlarını açıklar. |
| CONNECTION_PRIVILEGES | Yabancı bağlantılarda |
| CONNECTIONS | Yabancı bağlantıları açıklar. |
| CONSTRAINT_COLUMN_USAGE | Katalogdaki kolonları referans alan kısıtlamaları açıklar. |
| CONSTRAINT_TABLE_USAGE | Katalogdaki tablolara referans alan kısıtlamaları açıklar. |
| CREDENTIAL_PRIVILEGES | Kimlik bilgileri üzerinde ayrıcalıkları olan asıl kullanıcıları listeler. |
| CREDENTIALS | Kimlik bilgilerini açıklar. |
| EXTERNAL_LOCATION_PRIVILEGES | Dış konumlarda ayrıcalıkları olan sorumluları listeler. |
| EXTERNAL_LOCATIONS | Dış konumları açıklar. |
| INFORMATION_SCHEMA_CATALOG_NAME | Bu bilgi şemasının kataloğunun adını döndürür. |
| KEY_COLUMN_USAGE | Katalogdaki birincil veya yabancı anahtar kısıtlamalarının sütunlarını listeler. |
| METASTORE_PRIVILEGES | Geçerli meta veri deposunda yetkileri olan prensipleri listeler. |
| METASTORES | Geçerli meta veri depolarını açıklar. |
| PARAMETERS | Katalogdaki yordamların (işlevler) parametrelerini açıklar. |
| PROVIDERS | Sağlayıcıları açıklar. |
| RECIPIENT_ALLOWED_IP_RANGES | Alıcılar için izin verilen IP aralıklarını listeler. |
| RECIPIENT_TOKENS | Alıcılar için belirteçleri listeler. |
| RECIPIENTS | Alıcıları açıklar. |
| REFERENTIAL_CONSTRAINTS | Katalogda tanımlanan referans (yabancı anahtar) kısıtlamalarını açıklar. |
| ROUTINE_COLUMNS | Tablo değeri döndüren işlevlerin sonuç sütunlarını açıklar. |
| ROUTINE_PRIVILEGES | Katalogdaki yordamlar üzerinde ayrıcalıkları olan temsilcileri listeler. |
| ROUTINES | Katalogdaki yordamları (işlevler) açıklar. |
| ROW_FILTERS | Katalogdaki tablolardaki satır filtrelerini açıklar. |
| SCHEMA_PRIVILEGES | Katalogdaki şemalar üzerinde ayrıcalıkları olan sorumluları listeler. |
| SCHEMA_TAGS | Şema içinde şema etiketleme meta verilerini içerir. |
| SCHEMA_SHARE_USAGE | Paylaşımlarda atıfta bulunulan şemaları açıklar. |
| SCHEMATA | Katalog içindeki şemaları açıklar. |
| SHARE_RECIPIENT_PRIVILEGES | Paylaşımlara erişim izni verilen alıcıları açıklar. |
| SHARES | Hisseleri açıklar. |
| STORAGE_CREDENTIAL_PRIVILEGES | [Kullanım dışı] Depolama kimlik bilgileri üzerinde ayrıcalıkları olan sorumluları listeler. |
| STORAGE_CREDENTIALS | [Kullanım dışı] Depolama kimlik bilgilerini açıklar. |
| TABLE_CONSTRAINTS | Katalogdaki tüm birincil ve yabancı anahtar kısıtlamaları için meta verileri açıklar. |
| TABLE_PRIVILEGES | Katalogdaki tablo ve görünümlerde ayrıcalıkları olan sorumluları listeler. |
| TABLE_SHARE_USAGE | Paylaşımlarda atıfta bulunulan tabloları açıklar. |
| TABLE_TAGS | Bir tablo içinde tablo etiketleme meta verilerini içerir. |
| TABLES | Katalogda tanımlanan tabloları ve görünümleri açıklar. |
| VIEWS | Katalogdaki görünümler hakkında belirli bilgileri görüntülemeyi açıklar. |
| VOLUMES | Katalogda tanımlanan birimleri açıklar. |
| VOLUME_PRIVILEGES | Katalogdaki birimlerde ayrıcalıkları olan sorumluları listeler. |
| VOLUME_TAGS | Bir hacime uygulanan hacim etiketleme meta verilerini içerir. |
Notlar
- Bilgi şeması ayrıcalık kullanan filtreleme uygular. Yalnızca Unity Kataloğu izinlerine sahip olduğunuz nesneleri otomatik olarak görürsünüz. Bkz. Bilgi şeması sistem tabloları izinleri nasıl işler?
- Katalog meta veri değişikliklerinin bilgi şemasına yansıtılması için
REPAIR TABLEkullanarak el ile eşitleme gerekebilir. Daha fazla bilgi için bkz. REPAIR TABLE. - Sütun ve etiket adları dışındaki tüm tanımlayıcılar bilgi şemasında küçük harf
STRINGolarak depolanır. Sorgu performansı için tanımlayıcı sütunundaLOWER()veyaUPPER()gibi işlevleri kullanmaktan kaçının. Bunun yerine, küçük harf değerlerini kullanarak tanımlayıcıları doğrudan karşılaştırın. - Sorgu zaman aşımlarını önlemek için, bilgi şemasını sorgularken seçmeli filtreler uygulayın (örn.
WHERE table_catalog = 'main' AND table_schema = 'default'). Her Bilgi Şeması tablosu için filtre olarak kullanılabilecek sütunların tam listesi için yukarıdaki belgelere bakın.- Şunu unutmayın,
LIMITitme işlemi şu anda desteklenmiyor; sonuçları kesebilir, ancak verimliliği artırmaz.
- Şunu unutmayın,
Örnekler
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Aşağıda, sistem düzeyi bilgi şema tablolarını kullanan iş akışları örnekleri verilmiştir.
Son 24 saat içinde oluşturulan tüm tabloları görüntülemek istiyorsanız, sorgunuz aşağıdaki gibi görünebilir.
> 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;
Her şemada kaç tablonuz olduğunu görüntülemek istiyorsanız aşağıdaki örneği göz önünde bulundurun.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC