DOSYA tipi ve yapılandırılmamış veri

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 .

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 video göstermektedirFILE:

Video sütununun FILE türü olduğu sürüş klipleri tablosu. Her satır, yapılandırılmış sütunları (klip kimliği, rota, sahne tanımı, tehlike etiketi ve gömülü) küçük bir video dosyası referansı ile eşleştirir; bu referans küçük bir görüntü ve 1.8 GB gibi bir boyut gösterir.

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 , sizecontent_type, ve checksum meta veri alanlarını içeriruri. Meta veri sorguları tam dosya okuması gerektirmez, bu da sorgu performansını artırır.

Değerleri fonksiyon gibi yapay zeka fonksiyonlarınaai_parse_document ve kullanıcı tanımlı fonksiyonlara (UDF) iletebilirsinizFILE.

Aşağıdaki diyagram, yol ve boyut meta verilerini ve depodaki dosyalara referansları içeren örnek yönetilen FILE bir sütunu göstermektedir:

Video sütununun FILE tipi olarak saklandığı clips tablosu, yol ve boyut çifti olarak gösterilir. Oklar, her satırı depodaki dosyasına bağlayır ve tablo ile dosyalar arasında yönetilen bir referansı gösterir.

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 okumada tam nesneyi ortaya çıkarır, sadece dosya boyutu veya yol gibi meta veriler gerekse bile. Bu da gereksiz hesaplamalara ve yavaş sorgulamalara yol açar. Video sütununun BINARY olarak saklandığı klipler tablosu. Her çok gigabaytlık videonun ham baytları sütunda hat içinde maddeleştirilir.
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. Video sütununun STRING yolu olarak saklandığı clips tablosu, örneğin s3://.../NW-0142. Bir yol artık hacimdeki bir dosyaya çözüm bulmuyor, bu da dizi yollarının dosyaların varlığını garanti etmediğini ve yönetişimin bağlantısız olduğunu gösteriyor.

Sağlama toplamı

Alan, checksum dosyanın baytları için bir bütünlük belirteçidir ve biçimindedir <prefix>:<digest>. Dosyaları karşılaştırmak veya bir dosyanın değişmediğini doğrulamak için kullanın. Okuyucular, tanınmayan bir önekli 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 kontrol toplamı MD5:d41d8cd98f00b204e9800998ecf8427e, ve nesne deposu eTag'i ise , nesne deposu tarafından döndürülen çevredeki çift tırnak işaretleri dahil olmak üzere benzer ETAG:"686897696a7c876b7e"görünür.

Arasından FILE seçim yapın BINARY

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 dosyanın ham baytları, bir sütunda satırda. 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, bunu satır verisiyle birlikte küçük resimleri depolamak için kullanın.

DOSYA HARICI VE DOSYA YÖNETİLİR

Bu tür, FILE dosyaları yönetmek için iki yöntemi destekler:

  • FILE EXTERNAL sü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 referans vermeniz gerektiğinde veya mevcut bir hacimden okuma araçlarını bozmadan bu yaklaşımı kullanın.
  • FILE MANAGED Sütunlar, dosyaları yönetilen depolamaya kopyalar. Unity Catalog'un depolama olarak kullanması için tablo özelliğini yönetilen bir hacim yoluna ayarlayın databricks.filespace-preview . Bu yaklaşımı, yalnızca tablo üzerinden dosyalara erişen iş yükleri için tablo üzerinden yönetilen basitleştirilmiş izinler istediğinizde kullanın; örneğin ML eğitimi veya geri alma ile artırılmış üretim (RAG) gibi. Alım desenleri için, FILE tipi olarak Ingest dosyalarına bakınız.

Sorgular için, harici ve yönetilen dosyalar arasında fark yoktur.

Aşağıdaki diyagram, tipin FILE kodunuzu bulut nesne depolamadaki dosyalara nasıl bağladığını gösterir:

FILE tipi mimarisi diyagramı. Python, SQL, Scala ve UDF gibi istemci arayüzleri, tembel yüklemeyi destekleyen tek bir DOSYA tipiyle çalışır. Bu türün iki türü vardır: FILE EXTERNAL, burada dosya sistemi yaşam döngüsünü yönetir, ve FILE YÖNETİLİR, burada UC tablo üzerinden yönetişimi optimize eder. Harici dosyalar, hacim seviyesinde yönetilen harici bir hacme eşlenirken, yönetilen dosyalar, hem S3, ADLS ya da Google Cloud Storage gibi bulut nesne depolama alanlarında tablo düzeyinde yönetilen bir FileSpace'e eşlenir.

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 verisi dosya meta verilerini açığa çıkarır, ancak dosyanın baytlarını okumak için de altta yatan hacim üzerindeki ayrıcalık gereklidir READ VOLUME .

Harici bir dosya, her tablo satırını Unity Kataloğu hacminden mevcut yoluna sahip bir dosyaya eşler:

Faz klasörleri altında düzenlenmiş deneme dosyalarını içeren bir UC cildinin diyagramı, HARİŞ DOSYA sütununa eşlenmiş olarak sunulmuştur. Her tablo satırı, hacim yoluna göre bir dosyaya referans verir ve Kohort ile Çalışma Aşaması gibi yapılandırılmış sütunlar ekler.

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/');

FILE MANAGED

FILE MANAGED sütunlar, dosya kopyalarını FileSpacebir , bir Unity Kataloğu hacminden depolar; bu hacmi tablonun yönetilen depolama olarak kullanması için ilan edersiniz. Yaşam döngüleri, onlara referans veren tablolara bağlıdır.

Aşağıdaki davranışlar geçerlidir FILE MANAGED:

  • Bildirmek FileSpace için tablo özelliği gereklidir databricks.filespace-preview .
  • Yönetilen bir dosyayı okumak veya yazmak, hem tabloya hem de dosyayı FileSpacedestekleyen hacme erişim gerektirir.
  • Referans verilmeyen dosyaların otomatik çöp toplanması desteklenmiyor.

SharePoint, Google Drive, OneDrive ve SFTP gibi harici kaynaklarda depolanan yapılandırılmamış dosyalar, fonksiyon ve kullanıcı tanımlı fonksiyonlar (UDF) gibi fonksiyonlarla ai_parse_document kullanılabilmek için yönetilen dosya olarak alınmalıdır. Alım desenleri için, FILE tipi olarak Ingest dosyalarına bakınız.

Yönetilen dosyaları kullanmak için, bir FILE MANAGED sütunlu bir tablo oluşturun ve tablo özelliğini databricks.filespace-preview bir hacim yoluna ayarlayarak bir hacim olarak FileSpace ilan edin:

'databricks.filespace-preview' = '/Volumes/<catalog>/<schema>/<volume_name>/<optional_path>'

Tam örnekler için aşağıdaki FILE MANAGED örneklere bakınız. A'daki FileSpace dosyaların yaşam döngüsü, onlara referans veren satırlara bağlıdır. Bu satırların silinmesi, dosyaları çöp toplamaya uygun hale getiriyor.

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 FileSpace bir FILE MANAGED sütun eklemek.

Yönetim ve yaşam döngüsü karşılaştırması

Aşağıdaki tablo, FILE EXTERNAL dosya erişimini nasıl yönettiğini FILE MANAGED ve dosya yaşam döngüsünü nasıl yöneteceğini karşılaştırır:

Sütun Türü FILE EXTERNAL FILE MANAGED
Dosya erişim kontrolü Hacim izinleriyle yönetilir, örneğin READ VOLUME. Tablo ve hacim izinleriyle yönetilir; örneğin SELECT tablo üzerindeki ve READ VOLUME cilt üzerindeki izinler.
Yaşam döngüsü ve çöp toplama Dosyaları kendin yönetiyorsun. Bir tablo satırını silmek, hacimdeki altta yatan dosyayı etkilemez. 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.

FILE tipi kullanım durumları

Hem harici hem de yönetilen FILE türler, 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 satırda depolamak için çok büyük BINARY 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, tabloda büyük nesnelerin diline yerleştirilmesini ö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ır silmek, dosyaları depoda bırakmak yerine temizlenmeye uygun hale getirir.
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.

Sonraki Adımlar