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.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
yalnızca Unity Kataloğu
Unity Kataloğu ve yerleşik Azure Databricks Hive meta veri deposu yönetilen tablolar için varsayılan konumları kullanır. Unity Kataloğu, bulut nesne depolamadaki verilere ayrıcalıklar vermek için birkaç yeni güvenli hale getirilebilir nesne sunar.
-
Bulut depolama sağlayıcılarından uzun vadeli kimlik bilgilerini soyutlamada kullanılan Unity Kataloğu nesnesi.
-
Bulut nesnesi depolama URI'sini depolama kimlik bilgileriyle ilişkilendirmek için kullanılan Unity Kataloğu nesnesi.
-
Unity Kataloğu tarafından yönetilen dış konumda oluşturulan Unity Kataloğu tablosu.
Dış konum
Dış konum, depolama yolunu bu yola erişim yetkisi veren bir depolama kimlik bilgileriyle birleştiren güvenli hale getirilebilir bir nesnedir.
Harici bir konumun oluşturucusu, onun ilk sahibi olur. Dış konumun sahibi ve ayrıcalığı olan MANAGE kullanıcılar dış konumun adını, URI'sini ve depolama kimlik bilgilerini değiştirebilir.
Bir dış konum oluşturulduktan sonra, hesap sorumlularına (kullanıcılar ve gruplar) erişim verebilirsiniz.
Dış konum kullanma izni olan bir kullanıcı veya grup, depolama kimlik bilgilerine doğrudan erişim olmadan konumun yolundaki herhangi bir depolama yoluna erişebilir.
Erişim denetimini daha da geliştirmek için dış tablolarda GRANT kullanabilir dış konumdaki tek tek dosyalara erişimi kapsülleyebilirsiniz.
Dış konum adları özelliksiz ve metaveri deposu içinde benzersiz olmalıdır.
Herhangi bir dış konumun depolama yolu, başka bir dış konumun depolama yolu içinde veya bir dış tablonun depolama yolu içinde açık bir depolama kimlik bilgisi kullanılarak bulunamaz.
Uyarı
Çalışma alanı düzeyinde Hive meta veri deponuzda bir şema (veritabanı) kayıtlıysa, CASCADE seçeneğini kullanarak bu şemayı bırakmak, tablo türüne (yönetilen veya dış) bakılmaksızın bu şema konumundaki tüm dosyaların özyinelemeli olarak silinmesine neden olur.
Şema bir Unity Kataloğu meta veri deposuna kayıtlıysa, Unity Kataloğu yönetilen tablolar dosyaları yinelemeli olarak silinir. Ancak, dış tablo
Bu nedenle, yanlışlıkla veri kaybını önlemek için hive meta veri deposundaki bir şemayı hiçbir zaman mevcut verileri içeren bir konuma kaydetmemelisiniz. Yeni dış tabloları, Hive meta veri deposu şemaları tarafından yönetilen veya Unity Kataloğu ile yönetilen tabloları içeren bir konumda oluşturmamalısınız.
İlişkilerin Grafik Gösterimi
Aşağıdaki diyagramda şunlar arasındaki ilişki açıklanmaktadır:
- depolama kimlik bilgileri
- dış konumlar
- dış tablolar
- depolama yolları
- IAM varlıkları
- Azure hizmet hesapları
Örnekler
-- 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