Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
typ
Platí pro:
Databricks SQL
Databricks Runtime 18 LTS and above
Important
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Typ FILE představuje odkaz na nestrukturovaný soubor a jeho metadata. Používejte ho ke správě a zpracování dokumentů, obrázků a zvuku spolu se strukturovanými daty v Unity Catalog.
FILE typ je podporován pouze pro tabulky Delta Lake.
Note
Tento FILE typ není podporován na serverless noteboích. Je podporován na noteboích připojených k serverless Databricks SQL skladům.
Syntax
{ FILE MANAGED | FILE EXTERNAL }
Použijte FILE MANAGED or FILE EXTERNAL jako typ sloupce, když deklarujete sloupec tabulky s .CREATE TABLE Nemůžete deklarovat sloupec tabulky jako bez FILE specifikace buď MANAGED , nebo EXTERNAL.
FILE je povoleno pouze jako parametr nebo typ návratu v UDF, uložené procedurě nebo při převádění.
Pro srovnání FILE EXTERNAL a FILE MANAGED, včetně architektonických diagramů viz FILE EXTERNAL a FILE MANAGED.
Pole
Hodnota FILE obsahuje následující pole:
| Obor | Typ | Description |
|---|---|---|
uri |
STRING |
URI souboru. Toto pole nemůže být null. |
offset |
BIGINT |
Offset do souboru v bajtech. |
size |
BIGINT |
Velikost souboru v bajtech |
content_type |
STRING |
MIME typ souboru, pokud je znám. |
checksum |
STRING |
Integritní token pro bajty souboru ve tvaru <algorithm>:<digest>. Pro rozpoznané algoritmy viz Kontrolní součty. |
Omezení
- Typ
FILEnezaručuje objednávku. Nemůžete použítFILEsloupec jako sloupec pro rozdělení, sloupec pro shlukování, klíč,MAPklíč pro spojení nebo výraz pro seskupení. Pro seskupení podle souboru seskupte podle jehouripole.
Literals
Pro vytvoření FILE hodnoty viz následující funkce:
-
to_filefunkce vytváří referenciFILEz cesty. -
try_to_filefunkce vytvoří referenciFILEz cesty a vrátí seNULL, pokud soubor neexistuje. -
create_fileFunkce nahraje obsah na cestu a vrací referenciFILE. -
copy_filefunkce zkopíruje soubor na cílovou cestu a vrací referenciFILE.
Do CAST nebo VARIANTSTRUCT na hodnotu :FILE
- A
STRUCTmusí mít přesně tato pole, s těmito názvy a typy:struct<uri:string, offset:bigint, size:bigint, content_type:string, checksum:string>. - A
VARIANTmusí zahrnovaturiobor. Všechna ostatní pole jsou volitelná a jakékoli další klíče se ignorují.
Házejte na FILE, ne na FILE EXTERNAL nebo FILE MANAGED. Cílový sloupec určuje, zda je výsledná reference externí nebo spravovaná. Když napíšete externí odkaz na sloupec FILE MANAGED , Databricks ho importuje do spravovaného úložiště.
Poznámky
- Jako sloupec nejvyšší úrovně tabulky musí být
FILEdeklarován jakoFILE MANAGEDneboFILE EXTERNAL. PoužijteFILEve všech ostatních případech:- Jako parametr nebo typ návratu v SQL, Python a Scala uživatelsky definované funkce (UDF) a v SQL uložených procedurách.
- Jako cílový typ a
CASTz hodnoty neboVARIANTSTRUCT. - Vnořené do ,
STRUCT,ARRAYhodnoty ,MAPnebo .VARIANTUvnitř jsou podporovány pouze externí souboryVARIANT.
- Pro čtení metadat souboru použijte , , , , a
checksumpole s tečkovou notací, napříkladfile_column.uri.content_typesizeoffseturi - Pro extrakci strukturovaného obsahu ze souboru předejte
FILEhodnotu funkcionální funkcijiai_parse_document.
Examples
Pro deklaraci tabulky s externím FILE sloupcem:
CREATE TABLE attachments (id BIGINT, attachment FILE EXTERNAL);
Pro naplnění ze souborů, které už v jednom svazku existují:
INSERT INTO attachments
SELECT row_number() OVER (ORDER BY file.uri), file
FROM read_files('/Volumes/my_catalog/my_schema/my_volume/', format => 'file');
Pro čtení metadat souborů pomocí tečkového zápisu:
SELECT attachment.uri, attachment.size, attachment.checksum
FROM attachments;
Pro konstrukci FILE hodnoty ze struktury:
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;