Dış tablolar
Şunlar için geçerlidir: Databricks SQL Databricks Runtime
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ış tablo
Dış tablo, yan tümcesi kullanarak bir dış depolama yoluna başvuran bir LOCATION
tablodur.
Depolama yolu, size erişim verilen mevcut bir dış konumda bulunmalıdır.
Alternatif olarak, size erişim verilen bir depolama kimlik bilgilerine başvurabilirsiniz.
Dış tabloların kullanılması, dış tabloya erişim izni verilen kullanıcılar için depolama yolunu, dış konumu ve depolama kimlik bilgilerini soyutlar.
Uyarı
Çalışma alanı düzeyinde Hive meta veri deponuzda bir şema (veritabanı) kayıtlıysa, bu şemayı CASCADE
seçeneğini kullanarak 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 deposuna kayıtlıysa, Unity Kataloğu yönetilen tablolarının dosyaları yinelemeli olarak silinir. Ancak, dış tabloların dosyaları silinmez. Bu dosyaları doğrudan bulut depolama sağlayıcısını kullanarak yönetmeniz gerekir.
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. Hive meta veri deposu şemaları tarafından yönetilen veya Unity Kataloğu yönetilen tabloları içeren bir konumda da yeni dış tablolar oluşturmanız da gerekir.
İ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
-- `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
İlgili makaleler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin