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.
Important
Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.
Bu FILE tür, yol ve boyut gibi meta verilerle birlikte yapılandırılmamış bir dosyaya yönetilen bir referans saklar. Unity Kataloğu'ndaki sütunları belgeler, görseller ve sesleri yapılandırılmış verilerle birlikte depolamak için kullanın FILE .
Sütunlarda FILE MANAGED Unity Kataloğu, dosyaların kopyalarını saklar ve bunları tablo ile yönetir: satır silmek, referans edilen dosyaları çöp toplamaya uygun hale getirir, böylece tablo ve dosyaları senkronize kalır.
Tip referansı için bkz.FILE
Aşağıdaki diyagram, sürüş kliplerine referans veren ve rota, sahne tanımı ve tehlike etiketi gibi yapılandırılmış sütunların yanında yer alan bir sütunu FILE göstermektedirvideo:
FILE meta verileri ve depolama
Her satır için, tür FILE meta veri ve dosyaya yönetilen bir bağlantı depolar. Bir değer, FILE , urisize, ve content_type meta veri alanlarını içerirchecksum. Meta veri sorguları tam dosya okuması gerektirmez, bu da sorgu performansını artırır.
FILE değerlerini, YZ işlevlerine, örneğin ai_parse_document işlevine, ve kullanıcı tanımlı işlevlere (UDF'ler) geçirebilirsiniz.
Aşağıdaki diyagram, yol ve boyut meta verilerini ve depodaki dosyalara referansları içeren örnek yönetilen FILE bir sütunu göstermektedir:
Meta veri ve içerik erişimi
Bir FILE değer iki bölümden oluşur ve her birine erişim farklı şekilde yönetilir:
- Dosya meta verileri (
uri,size,content_type, vechecksum) tablonun kendi veri dosyalarında saklanır. MasadaSELECTolan herkes onu okuyabilir. - Dosya içeriği depoda kalır. Bunları okumak için,
FILE EXTERNALiçin temel birimde bulunanREAD VOLUMEdosyasına erişim veyaFileSpaceiçinFILE MANAGED'yi destekleyen hem tabloya hem de birime erişim gerekir.
Bir FILE değerini BINARY veya STRING türüne dönüştürmek, bunu bir AI işlevine veya UDF'ye geçirmek ve sonuçlar tablosunda önizlemek, dosya içeriğini okur. Meta veri tablonun bir parçası olduğundan, dosyanın yolu ve boyutu, içeriğine erişimi olmasa bile tabloyu sorgulayabilen herkes tarafından görülebilir.
Sorgu sonuçlarında dosyaları önizlemek için FILE sütunlarındaki Önizleme dosyalarına bakınız.
Neden BINARY veya STRING yerine FILE kullanılıyor
Aşağıdaki tablo, büyük yapılandırılmamış dosyaları veya BINARYSTRING tür ile işlerken yaşanan zorlukları detaylandırır:
| Sütun türü | Description | Diagram |
|---|---|---|
BINARY |
Her okuma işleminde, yalnızca dosya boyutu veya yol gibi meta veriler gerektiğinde bile nesnenin tamamını oluşturur. Bu da gereksiz hesaplamalara ve yavaş sorgulamalara yol açar. |
|
STRING |
Boyut veya sürüm bilgisi gibi meta veriler olmadan ve tablo ile dosya arasında yönetilen bir bağlantı olmadan bir dosya yolunu saklar. Başka bir iş yükü dosyayı kaldırırsa, tabloda eski bilgiler bulunur. Bir tablo satırını kaldırırsanız, referans edilen dosya manuel olarak kaldırana kadar depoda kalır. |
|
Sağlama toplamı
checksum alanı, dosyanın baytları için <prefix>:<digest> biçiminde bir bütünlük belirtecidir. Dosyaları karşılaştırmak veya bir dosyanın değişmediğini doğrulamak için kullanın. Okuyucular, tanınmayan bir öneke sahip kontrol toplamını görmezden gelir.
Bir çek toplamı her zaman mevcut değildir.
to_file fonksiyon, create_file fonksiyon ve copy_file fonksiyon , nesne deposu bir ETAGdöndürdüğünde kontrol toplamını doldurur.
list_files Tablo değerli fonksiyon ve read_files tablo değerli fonksiyon kontrol toplamını doldurmaz.
Alan checksum aşağıdaki öneklerden birini kullanır:
| Önek | Digest kodlaması | Description |
|---|---|---|
ETAG |
Opaque | Nesne deposunun tüm dosya için eTag'i. Mağaza tarafından kelimesi kelimesine sağlanıyor, sadece eşitlik karşılaştırması için kullanılıyor ve yeniden hesaplanamıyor. |
MD5 |
Küçük altıgen | Bir MD5 özeti (RFC 1321), 32 hex karakter. |
CRC32 |
Küçük altıgen | Bir CRC32 kontrol toplamı (RFC 2083), 8 altıgen karakter. |
CRC32C |
Küçük altıgen | Bir CRC32C kontrol toplamı (RFC 3385), 8 altıgen karakter. |
SHA-256 |
Küçük altıgen | Bir SHA-256 özeti (RFC 6234), 64 hex karakter. |
Örneğin, bir MD5 sağlama toplamı MD5:d41d8cd98f00b204e9800998ecf8427e gibi görünür ve bir nesne deposu eTag'i de, nesne deposunun döndürdüğü dış çift tırnaklar dahil olmak üzere, ETAG:"686897696a7c876b7e" gibi görünür.
FILE ile BINARY arasında seçim yapın
Aşağıdaki tablo, yapılandırılmamış dosyalarla çalışma seçeneklerini karşılaştırmaktadır:
| Sütun türü | Değerler | Kullanım örneği |
|---|---|---|
FILE |
Bir dosyaya yönlendirilmiş bir referans ve meta veriler (uri, size, content_type, checksum). |
Yapılandırılmamış dosyaları yapılandırılmış verilerle birlikte yönetmek ve işlemek, dosyaları yerleşik ve yapay zeka fonksiyonlarına aktarmak için kullanılır. |
BINARY |
Bir sütunda satır içinde yer alan bir dosyanın ham baytları. | Veri dosyasında doğrudan depolanan küçük nesneler için (varsayılan olarak 64 KB'ye kadar) kullanım. Bu, düşük meta veri yükü ve basitleştirilmiş dosya yönetimi gerektiğinde faydalıdır. Örneğin, küçük resimleri satır verilerinin içinde depolamak için bunu kullanın. |
YÖNETİLEN DOSYA ve HARİCİ DOSYA
Bu tür, FILE dosyaları yönetmek için iki yöntemi destekler:
-
FILE MANAGEDSütunlar, dosyaları yönetilen depolamaya kopyalar. İzinler basitleştirilir ve tablo üzerinden yönetilir. Satırları sildiğinizde veya farklı dosyalara referans verecek şekilde güncellerken, referans verilmeyen dosyalar çöp toplama için uygun hale gelir, böylece tablo ve dosyaları senkronize kalır. Bu yaklaşımı, ML eğitimi veya geri alma ile artırılmış üretim (RAG) gibi tablo üzerinden dosyalara erişen iş yükleri ve dış kaynaklardan alınan dosyalar için kullanın. İçe aktarma kalıpları için, Dosyaları FILE türü olarak içe aktarma konusuna bakın. -
FILE EXTERNALsütunlar, Unity Kataloğu ciltindeki mevcut dosyalara referans verir. Dosyalar Unity Catalog hacim izinleriyle güvence altına alınıyor, ancak yaşam döngüleri Unity Catalog tarafından yönetilmiyor ve kopyalanmıyor. Dosyalara başvurmanız gerektiğinde, verileri taşımadan ve mevcut bir birimden okuyan araçların çalışmasını kesintiye uğratmadan bu yaklaşımı kullanın.
Azure Databricks, dosya düzeyinde izinler ve yerleşik uyumluluktan faydalanan iş yükleri için önerirFILE MANAGED: her dosyaya erişim, onu referans eden tablo üzerinden yönetilir ve satır silmek, referans edilen dosyaları çöp toplamaya uygun kılar. Dosyaların mevcut hacim yollarında kalması gerektiğinde onları tablo dışında okuyan araçlar için kullanın FILE EXTERNAL .
Sorgular için yönetilen ve harici dosyalar arasında fark yoktur.
Aşağıdaki diyagram, tipin FILE kodunuzu bulut nesne depolamadaki dosyalara nasıl bağladığını gösterir:
FILE MANAGED
FILE MANAGED sütunları, dosyaların kopyalarını FileSpace içinde saklar; burada FileSpace, tablonun yönetilen depolama olarak kullanması için tanımladığınız bir Unity Catalog birimidir. Yaşam döngüleri, onları referans eden tablolara bağlıdır: satır silmek, referans edilen dosyaları çöp toplamaya uygun hale getirir, böylece tablo ve dosyaları senkronize kalır.
Aşağıdaki davranışlar FILE MANAGED için geçerlidir:
-
FileSpacetanımlamak içindatabricks.filespace-previewtablo özelliği gerekir. - Yönetilen bir dosyayı okumak veya yazmak, hem tabloya hem de dosyayı
FileSpacedestekleyen hacme erişim gerektirir. - Beta'da referans verilmeyen dosyaların otomatik çöp toplaması desteklenmiyor.
SharePoint, Google Drive, OneDrive ve SFTP gibi dış kaynaklarda depolanan yapılandırılmamış dosyalar, bunları ai_parse_document function ve kullanıcı tanımlı işlevler (UDF'ler) gibi işlevlerle kullanmadan önce yönetilen dosyalar olarak içe aktarılmalıdır. İçe aktarma kalıpları için Dosyaları FILE türü olarak içe aktarma bölümüne bakın.
Yönetilen dosyaları kullanmak için, FILE MANAGED sütununa sahip bir tablo oluşturun ve databricks.filespace-preview tablo özelliğini bir volume yoluna ayarlayarak bir volume’u FileSpace olarak tanımlayın:
'databricks.filespace-preview' = '/Volumes/<catalog>/<schema>/<volume_name>/<optional_path>'
Tam örnekler için aşağıdaki FILE MANAGED örneklere bakınız.
FILE MANAGED örnekleri
Bir FILE MANAGED sütunlu bir tablo oluşturmak için:
CREATE TABLE reports (id BIGINT, file FILE MANAGED)
TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
Mevcut bir tabloya sütun FILE MANAGED eklemek için, databricks.filespace-preview sütunu eklemeden önce tablo özelliğini ayarlayın, aşağıdaki kodda olduğu gibi:
ALTER TABLE reports SET TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
ALTER TABLE reports ADD COLUMN attachment FILE MANAGED;
Hatasız bir tabloya FILE MANAGED bir FileSpace sütun eklemek.
Referanssız yönetilen dosyaları sil
Otomatik çöp toplama desteklenmediği için, referanssız dosyaları kendiniz sil. Aşağıdaki defter, tablo versiyonunun referans vermediği dosyaları FileSpace bulur ve isteğe bağlı olarak onları siler:
FileType çöp toplama defteri
FILE EXTERNAL
FILE EXTERNAL sütunlar, Unity Kataloğu ciltinde zaten var olan dosyalara yapılan referanslardır.
Ciltte gerekli ayrıcalıklara sahipseniz, bu dosyaları güncelleyebilir veya silebilirsiniz. Databricks, değişmez dosyalar kullanmanızı önerir. Bir tablo izni dosya meta verilerine erişim sağlar, ancak dosyanın baytlarını okumak için alttaki birim üzerinde READ VOLUME ayrıcalığı da gerekir.
Harici bir dosya, her tablo satırını Unity Catalog birimindeki mevcut yolundaki bir dosyayla eşler:
FILE EXTERNAL örnekleri
Bir FILE EXTERNAL sütunlu bir tablo oluşturmak için:
CREATE TABLE documents (id BIGINT, file FILE EXTERNAL);
Mevcut bir tabloya bir FILE EXTERNAL sütun eklemek için:
ALTER TABLE documents ADD COLUMN file FILE EXTERNAL;
Bir hacimden bir tablo oluşturmak ve doldurmak için, her dosyaya benzersiz kimlikler atamak:
CREATE TABLE documents AS
SELECT monotonically_increasing_id() AS id, file
FROM list_files('/Volumes/samples/sec/contracts/');
Yönetim ve yaşam döngüsü karşılaştırması
Aşağıdaki tablo, FILE MANAGED dosya erişimini nasıl yönettiğini FILE EXTERNAL ve dosya yaşam döngüsünü nasıl yöneteceğini karşılaştırır:
| Sütun Türü | FILE MANAGED |
FILE EXTERNAL |
|---|---|---|
| Dosya erişim kontrolü | Tablo ve birim izinimleri tarafından yönetilir; örneğin tablo üzerindeki SELECT ve birim üzerindeki READ VOLUME gibi. |
Hacim izinleriyle yönetilir, örneğin READ VOLUME. |
| Yaşam döngüsü ve çöp toplama | Dosyalar, onlara referans veren satırlara bağlıdır. Bu satırların silinmesi, dosyaları çöp toplamaya uygun hale getiriyor. Otomatik çöp toplama desteklenmiyor. | Dosyaları kendin yönetiyorsun. Bir tablo satırını silmek, hacimdeki altta yatan dosyayı etkilemez. |
FILE tipi kullanım durumları
Yönetilen ve harici FILE tipler, yapılandırılmamış veri kullanılarak kullanılan kullanım durumları için aşağıdaki zorlukları ele alır:
| Zorluk | Desteklenen tip FILE |
Benefits |
|---|---|---|
Dosyalar BINARY satır içi depolanamayacak kadar büyük |
FILE MANAGED veya FILE EXTERNAL |
Bir FILE sütun bir referansı saklar, bu yüzden bir dosya yalnızca bir yapay zeka fonksiyonu veya UDF işlediğinde okunur. Bu, büyük nesnelerin doğrudan tablo içinde depolanmasını önler. |
| Dosya sistemi ile tablo arasında bağlantısız yaşam döngüsü ve yönetişim | FILE MANAGED |
Azure Databricks, her dosyanın yaşam döngüsünü tabloya bağlar; böylece satırlar silindiğinde dosyalar, depoda sahipsiz dosyalar bırakılmak yerine temizlemeye uygun duruma gelir. |
| Dosyaların aynı konumda kalmasını gerektiren eşzamanlı iş yükleri | FILE EXTERNAL |
Dosyalar mevcut hacim yollarında kalır, tablo yaşam döngüsünden etkilenmez, böylece aynı dosyaları okuyan diğer araçlar kesintiye uğramaz. |