FILE tür

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi evet olarak işaretlendi Databricks Runtime 18 LTS ve üzeri

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.

Tür, FILE yapılandırılmamış bir dosyaya ve meta verilerine referansı temsil eder. Unity Catalog'da yapılandırılmış verilerle birlikte belgeleri, görselleri ve sesleri yönetmek ve işlemek için kullanın.

FILE type yalnızca Delta Lake tabloları için desteklenir.

Uyarı

Bu FILE tür sunucusuz dizüstü bilgisayarlarda desteklenmiyor. Sunucusuz Databricks SQL depolarına bağlı dizüstü bilgisayarlarda desteklenmektedir.

Syntax

{ FILE MANAGED | FILE EXTERNAL }

FILE MANAGED Bir tablo sütunu ile CREATE TABLEilan ederken or FILE EXTERNAL sütun tipi olarak kullanın. Bir tablo sütununu olarak FILE ilan edemezsiniz, herhangi birini MANAGED veya EXTERNAL'i belirtmeden. FILE yalnızca bir UDF'de, saklanan prosedürde veya döküm sırasında parametre veya dönüş türü olarak izin verilir.

ve , mimari diyagramlar dahil olmak üzere karşılaştırma FILE EXTERNAL için bkz. FILE OUTER ve FILE YÖNETİLİLİR.FILE MANAGED

Alanlar

Bir FILE değer aşağıdaki alanları içerir:

Alan Türü Description
uri STRING Dosyanın URI'si. Bu alan nullolamaz.
offset BIGINT Dosyaya bayt cinsinden bir ofset.
size BIGINT Dosyanın bayt cinsinden boyutu.
content_type STRING Dosyanın MIME türü, bilindiğinde.
checksum STRING Dosyanın baytları için bir bütünlük belirteçesi, biçimindedir <algorithm>:<digest>. Tanınan algoritmalar için bkz. Kontrol Toplamları.

Limits

  • Tip FILE sipariş vermeyi garanti etmez. Bir FILE sütunu bölümleme sütunu, küme sütunu, MAP anahtar, join anahtarı veya gruplama ifadesi olarak kullanamazsınız. Bir dosyaya göre gruplamak için, onun uri alanına göre grupla.

Literals

Bir FILE değer oluşturmak için aşağıdaki fonksiyonlara bakınız:

Bir CASTVARIANT veya STRUCT değeri için :FILE

  • A'nın STRUCT tam olarak bu alanlara, şu isimler ve türlere sahip olması gerekir: struct<uri:string, offset:bigint, size:bigint, content_type:string, checksum:string>.
  • A VARIANT mutlaka alanı uri da içermelidir. Diğer tüm alanlar isteğe bağlıdır ve ek anahtarlar göz ardı edilir.

Atma , FILEdeğil FILE EXTERNAL veya FILE MANAGED. Hedef sütun, ortaya çıkan referansın harici mi yoksa yönetilen mi olduğunu belirler. Bir FILE MANAGED sütuna harici bir referans yazdığınızda, Databricks bunu yönetilen depolamaya aktarır.

Notlar

  • Üst düzey tablo sütunu olarak, FILE veya FILE MANAGEDFILE EXTERNALolarak ilan edilmelidir. Diğer tüm durumlarda kullanım FILE :
    • SQL, Python ve Scala kullanıcı tanımlı fonksiyonlarda (UDF) ve SQL depolanmış prosedürlerde parametre veya dönüş tipi olarak kullanılır.
    • Hedef türü CAST olarak a veya VARIANTSTRUCT değeri.
    • İç içinde bir STRUCT, an ARRAY, a MAPdeğeri , ya da a VARIANT. Yalnızca VARIANTdış dosyalar bir içinde desteklenir.
  • Dosya metaverisini okumak için, uri, offset, sizecontent_type, , ve checksum nokta gösterimiyle alanları kullanın, örneğin file_column.uri.
  • Bir dosyadan yapılandırılmış içerik çıkarmak için, fonksiyon fonksiyonuna bir FILE değer ai_parse_document iletin.

Examples

Dış FILE sütunlu bir tablo ilan etmek için:

CREATE TABLE attachments (id BIGINT, attachment FILE EXTERNAL);

Bir hacimde zaten var olan dosyalardan doldurmak için:

INSERT INTO attachments
  SELECT row_number() OVER (ORDER BY file.uri), file
  FROM read_files('/Volumes/my_catalog/my_schema/my_volume/', format => 'file');

Dosya meta verilerini nokta gösterimi kullanarak okumak için:

SELECT attachment.uri, attachment.size, attachment.checksum
  FROM attachments;

Bir yapıdan bir FILE değer oluşturmak için:

SELECT named_struct(
  'uri', '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
  'offset', null,
  'size', CAST(19494 AS BIGINT),
  'content_type', 'application/pdf',
  'checksum', 'ETAG:v1')::FILE;