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.
Unity Kataloğu, Unity Kataloğu üzerinden geçen ancak veri yaşam döngüsünü, iyileştirmeleri, depolama konumunu veya düzeni yönetmeyen tüm sorgular için dış veriler için veri erişim izinlerini yönetir.
Dış tablolar, verileri bulut kiracınızdaki bulut nesne depolama alanında bir dizinde depolar. Dış tablo tanımlarken bir depolama konumu belirtmeniz gerekir. Dış tabloyu bıraktığınızda veri dosyaları silinmez.
Dış tablo oluşturduğunuzda, mevcut bir veri dosyası dizinini tablo olarak kaydedebilir veya tabloyu destekleyen veri dosyalarını depolayan yeni bir dizin oluşturmak için bir yol sağlayabilirsiniz.
Databricks, aşağıdaki kullanım örnekleri için dış tabloların kullanılmasını önerir:
- Unity Catalog ile yönetilen tablolarla uyumlu olmayan mevcut veriler tarafından desteklenen bir tabloyu kaydetmeniz gerekir.
- Ayrıca, diğer dış erişim desenlerini desteklemeyen Databricks dışı istemcilerden gelen verilere doğrudan erişim de gerekir. Bkz. dış sistemleri kullanarak Databricks verilerine erişme.
Unity Kataloğu ayrıcalıkları, kullanıcılar dış sistemlerden veri dosyalarına eriştiğinde uygulanmaz.
Bu makale Unity Kataloğu dış tablolarına odaklanır. Eski Hive meta veri deposundaki dış tabloların farklı davranışları vardır. Bkz. Eski Hive meta veri deposundaki veritabanı nesneleri.
Önemli
Databricks dışı bir istemci kullanarak veya Databricks'in içinden yol tabanlı erişim kullanarak dış tablo meta verilerini güncelleştirirseniz, bu meta veriler Unity Kataloğu ile durumu otomatik olarak eşitlemez. Databricks bu tür meta veri güncelleştirmelerine karşı öneride bulunur, ancak bunu yaparsanız, Unity Kataloğu'nda şemayı güncel hale getirmek için MSCK REPAIR TABLE <table-name> SYNC METADATA
çalıştırmanız gerekir. Bkz. REPAIR TABLE.
Dış tablolar için dosya biçimleri
Dış tablolar aşağıdaki dosya biçimlerini kullanabilir:
- DELTA
- CSV
- JSON veri formatı
- AVRO
- PARKE
- Ork
- METİN
Dış tablo oluşturma
Dış tablo oluşturmak için SQL komutlarını veya Dataframe yazma işlemlerini kullanabilirsiniz.
Başlamadan önce
Dış tablo oluşturmak için aşağıdaki izin gereksinimlerini karşılamanız gerekir:
- Dış tablo tarafından erişilen
CREATE EXTERNAL TABLE
erişim sağlayan bir dış konumdakiLOCATION
ayrıcalığı. -
USE SCHEMA
Tablonun ana şeması üzerindeki izin. -
USE CATALOG
tablonun ana kataloğundaki izin. -
CREATE TABLE
Tablonun ana şeması üzerindeki izin.
Dış konumları yapılandırma hakkında daha fazla bilgi için bkz . Bulut depolama alanını Azure Databricks'e bağlamak için dış konum oluşturma.
Uyarı
AWS S3'teki bir dış tabloya erişim izni verdiğinizde şunlara dikkat edin: Databricks, S3'te dış konum tarafından desteklenen bir tabloda yazma ayrıcalıkları vermenizi ancak dış konumun tek bir meta veri deposunda tanımlanmasını önerir. Birden fazla meta veri deposundan tek bir dış S3 konumundaki verileri güvenle okuyabilirsiniz, ancak birden çok meta veri deposundan aynı S3 konumuna eşzamanlı yazma işlemleri tutarlılık sorunlarına yol açabilir.
SQL komut örnekleri
Dış tablo oluşturmak için bir not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki komut örneklerinden birini kullanın.
Aşağıdaki örneklerde yer tutucu değerlerini değiştirin:
-
<catalog>
: Tabloyu içerecek kataloğun adı. -
<schema>
: Tabloyu içerecek şemanın adı. -
<table-name>
: Tablonun adı. -
<column-specification>
: Her sütunun adı ve veri türü. -
<bucket-path>
: Tablonun oluşturulacağı bulut depolama demetinin yolu. -
<table-directory>
: Tablonun oluşturulacağı dizin. Her tablo için benzersiz bir dizin kullanın.
ADLS
CREATE TABLE <catalog>.<schema>.<table-name>
(
<column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';
S3
CREATE TABLE <catalog>.<schema>.<table-name>
(
<column-specification>
)
LOCATION 's3://<bucket-path>/<table-directory>';
Tablo oluşturma parametreleri hakkında daha fazla bilgi için bkz. CREATE TABLE.
Veri çerçevesi yazma işlemleri
Birçok kullanıcı sorgu sonuçlarından veya DataFrame yazma işlemlerinden dış tablolar oluşturur. Aşağıdaki makalelerde, Azure Databricks'te dış tablo oluşturmak için kullanabileceğiniz birçok desenden bazıları gösterilmektedir:
Bir dış tabloyu kaldır
Bir tabloyu silmek için sahibi olmalısınız veya tabloda MANAGE
ayrıcalığına sahip olmalısınız. Dış tabloyu bırakmak için aşağıdaki SQL komutunu çalıştırın:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
Unity Kataloğu, dış tabloyu bıraktığınızda bulut depolamadaki temel verileri silmez. Tabloyla ilişkili verileri kaldırmanız gerekiyorsa, temel alınan veri dosyalarını doğrudan silmeniz gerekir.
Örnek not defteri: Dış tablolar oluşturma
Katalog, şema ve dış tablo oluşturmak ve bunlar üzerindeki izinleri yönetmek için aşağıdaki örnek not defterini kullanabilirsiniz.