Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik:
Databricks SQL
Databricks Runtime 18 LTS and above
Important
Ez a funkció bétaverzióban érhető el. A munkaterület rendszergazdái az Előnézetek lapon szabályozhatják a funkcióhoz való hozzáférést. Lásd: Az Azure Databricks előzetes verziójának kezelése.
A FILE típus egy strukturálatlan fájlra és annak metaadataira vonatkozó hivatkozást képviseli. Használd dokumentumok, képek és hangok kezelésére és feldolgozására, valamint strukturált adatokat a Unity Catalogban.
FILE a type csak Delta Lake táblákhoz van támogatva.
Jegyzet
Ez a FILE típus szerver nélküli notebookokon nem támogatott. Támogatott olyan notebookokon is, amelyek szerver nélküli Databricks SQL raktárakhoz csatlakoznak.
Szemantika
{ FILE MANAGED | FILE EXTERNAL }
Használd FILE MANAGED az or FILE EXTERNAL oszloptípust, amikor egy táblázatoszlopot jelentesz be.CREATE TABLE Nem lehet táblázatoszlopot bejelenteni anélkül, FILE hogy megadnád vagy vagy MANAGEDEXTERNAL.
FILE csak paraméterként vagy visszaküldési típusként engedélyezett egy UDF-ben, tárolt eljárásban vagy castingkor.
Az és , architektúradiagramok összehasonlításához FILE MANAGED lásd a FILE MANAGED és FILE EXTERNAL.FILE EXTERNAL
Mezők
Egy FILE érték a következő mezőket tartalmazza:
| Field | Típus | Description |
|---|---|---|
uri |
STRING |
A fájl URI-je. Ez a mező nem lehet null. |
offset |
BIGINT |
Egy elmozdulás a fájlba, bájtokban. |
size |
BIGINT |
A fájl mérete bájtban. |
content_type |
STRING |
A fájl MIME típusa, ha ismert. |
checksum |
STRING |
Egy integritási token a fájl bájtjaira, az alábbi formában <algorithm>:<digest>. Az elismert algoritmusokról lásd: Ellenzőösszegek. |
Limits
- Ez a
FILEtípus nem garantálja a rendelést. Nem használhatsz oszlopotFILEpartíciós oszlopként, klaszterező oszlopként,MAPkulcsként, csatlakozási kulcsként vagy csoportosító kifejezésként. Ha fájlhoz csoportosítsuk, inkább a mezőjeurialapján csoportosíts.
Literals
Az érték létrehozásához FILE lásd az alábbi függvényeket:
-
to_fileA függvény egy útból generál egyFILEhivatkozást. -
try_to_filea függvény hivatkozást hozFILElétre egy útról, és visszatérNULL, ha a fájl nem létezik. -
create_fileA függvény feltölti a tartalmat egy útvonalra, és visszaad egyFILEhivatkozást. -
copy_filea függvény egy fájlt másolt egy célútra, és visszaadja aFILEhivatkozást.
A CASTVARIANT vagy STRUCT értékre :FILE
- A-nak
STRUCTpontosan ezekkel a mezőkkel kell rendelkeznie, ezekkel a nevekkel és típusokkal:struct<uri:string, offset:bigint, size:bigint, content_type:string, checksum:string>. - A
VARIANTkötelező auriterület is. Minden más mező opcionális, és minden további kulcsot figyelmen kívül hagynak.
Varázslat , FILEnem vagy FILE EXTERNALFILE MANAGED. A céloszlop határozza meg, hogy a kapott referencia külső vagy kezelt volt-e. Amikor külső hivatkozást írsz egy FILE MANAGED oszlophoz, a Databricks beviszi azt a kezelt tárolóba.
Jegyzetek
- Felső szintű táblázatoszlopként
FILEa vagyFILE MANAGED-ként kell kihirdetniFILE EXTERNAL. HasználatFILEminden más esetben:- Paraméter- vagy visszaküldési típusként SQL, Python és Scala felhasználó által definiált függvényekben (UDF-ekben) és SQL tárolt eljárásokban.
- Cél típusként
CASTaz a vagyVARIANTSTRUCTértékből. - Egy
STRUCT, anARRAY, aMAPértéke , vagy aVARIANT. Csak külső fájlok támogatottak egyVARIANT.
- A fájl metaadatok olvasásához használjuk az , , , , és
uria mezőket pontjelöléssel, példáuloffset.sizecontent_typechecksumfile_column.uri - A fájlból strukturált tartalom kinyeréséhez egy értéket továbbítsunk
FILEaai_parse_documentfüggvényfüggvénynek .
Examples
Egy kezelt FILE oszloptal rendelkező tábla bevallásához állítsuk be a databricks.filespace-preview tábla tulajdonságát arra a kötetútra, amelyet a Unity Catalog kezelt tárolóként használ:
CREATE TABLE reports (id BIGINT, attachment FILE MANAGED)
TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/filespace/');
Külső oszlopos táblázat FILE bevallása:
CREATE TABLE attachments (id BIGINT, attachment FILE EXTERNAL);
A kötetben már létező fájlokból való feltöltéshez:
INSERT INTO attachments
SELECT row_number() OVER (ORDER BY file.uri), file
FROM read_files('/Volumes/my_catalog/my_schema/my_volume/', format => 'file');
Fájl metaadat olvasásához pontjelöléssel:
SELECT attachment.uri, attachment.size, attachment.checksum
FROM attachments;
Egy szerkezetből értéket FILE építeni:
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;