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.
Şunun için geçerlidir:
Databricks SQL
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
FILEsipariş vermeyi garanti etmez. BirFILEsütunu bölümleme sütunu, küme sütunu,MAPanahtar, join anahtarı veya gruplama ifadesi olarak kullanamazsınız. Bir dosyaya göre gruplamak için, onunurialanına göre grupla.
Literals
Bir FILE değer oluşturmak için aşağıdaki fonksiyonlara bakınız:
-
to_filefonksiyon, bir yoldan birFILEreferans oluşturur. -
try_to_filefonksiyonu bir yoldan bir referans oluştururFILEve dosya yoksa geri dönerNULL. -
create_filefonksiyon bir yola içerik yükler ve birFILEreferans döndürür. -
copy_filefonksiyon bir dosyayı hedef yola kopyalayır ve birFILEreferans döndürür.
Bir CASTVARIANT veya STRUCT değeri için :FILE
- A'nın
STRUCTtam olarak bu alanlara, şu isimler ve türlere sahip olması gerekir:struct<uri:string, offset:bigint, size:bigint, content_type:string, checksum:string>. - A
VARIANTmutlaka alanıurida 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,
FILEveyaFILE MANAGEDFILE EXTERNALolarak ilan edilmelidir. Diğer tüm durumlarda kullanımFILE:- 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ü
CASTolarak a veyaVARIANTSTRUCTdeğeri. - İç içinde bir
STRUCT, anARRAY, aMAPdeğeri , ya da aVARIANT. YalnızcaVARIANTdış dosyalar bir içinde desteklenir.
- Dosya metaverisini okumak için,
uri,offset,sizecontent_type, , vechecksumnokta gösterimiyle alanları kullanın, örneğinfile_column.uri. - Bir dosyadan yapılandırılmış içerik çıkarmak için, fonksiyon fonksiyonuna bir
FILEdeğerai_parse_documentiletin.
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;