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.
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 szabályozott hivatkozást tárol egy strukturálatlan fájlra, metaadatokkal, mint az út és a méret. Használd FILE az oszlopokat a Unity Catalogban dokumentumok, képek és hangok tárolására a strukturált adatok mellett.
Az FILE MANAGED oszlopokkal a Unity Catalog tárolja a fájlok másolatait, és a táblával kezeli őket: a sorok törlése miatt a hivatkozott fájlok alkalmassá válnak a szemétgyűjtésre, így a tábla és fájlok összhangban maradnak.
A típusreferenciáért lásd: FILE típus.
A következő ábra egy FILE oszlopot mutat, video amely vezetés klipjeire hivatkozik strukturált oszlopok mellett, mint az útvonal, helyszínleírás és veszélyjelzés:
FÁJL metaadatok és tárolás
Minden sorhoz a FILE típus tárol metaadatokat és egy szabályozott linket a fájlhoz a tárolóban. Az érték FILE tartalmazza uri, size, content_type, és checksum metaadatmezőket. A metaadat-lekérdezésekhez nem kell teljes fájlolvasás követelménye, ami javítja a lekérdezések teljesítményét.
Értékeket adhatsz FILEát AI függvényeknek, például ai_parse_document függvényeknek, és a felhasználó által definiált függvényeknek (UDF-ek).
Az alábbi ábra egy példát mutat egy kezelt FILE oszlopot, amely út- és méretmetaadatokat, valamint hivatkozásokat tartalmaz a tárolóban lévő fájlokra:
Miért használunk FILE-t a BINARY vagy STRING helyett
Az alábbi táblázat részletezi a nagy, strukturálatlan fájlok kezelésével kapcsolatos kihívásokat, amelyek BINARY vagy STRING típusok esetén:
| Oszloptípus | Description | Diagram |
|---|---|---|
BINARY |
Minden olvasás során a teljes objektumot materializálja, még akkor is, ha csak metaadat, például a fájlméret vagy az út szükséges. Ez felesleges számításokat és lassú lekérdezéseket eredményez. |
|
STRING |
Fájlút tárol metaadat nélkül, például méret- vagy verzióinformációval, valamint a tábla és a fájl közötti szabályozott kapcsolat nélkül. Ha egy másik munkaterhelés eltávolítja a fájlt, a táblán elavult információk vannak. Ha eltávolítasz egy táblázatsort, a hivatkozott fájl tárolva marad, amíg kézzel nem távolítod. |
|
Ellenőrző összegek
A checksum mező egy integritási tokenként szolgál a fájl bájtjaihoz, az alábbi formában <prefix>:<digest>. Használd a fájlok összehasonlítására vagy annak ellenőrzésére, hogy a fájl nem változott-e meg. Az olvasók figyelmen kívül hagyják az ismeretlen előtagú ellenőrző összeget.
Ellenőrző összeg nem mindig elérhető.
to_file függvény, create_file függvény és copy_file függvény tölti fel az ellenőrző összeget, amikor az objektum tároló visszaadja a ETAG-t.
list_files A táblázatértékű függvény és read_files a táblázatértékű függvény nem tölti ki az ellenőrzőösszeget.
A checksum mező az alábbi előtagok egyikét használja:
| Előtag | Digest kódolás | Description |
|---|---|---|
ETAG |
Opaque | Az objektumtároló eTagje az egész fájlhoz. Szó szerint a bolt szállítja, csak egyenlőségi összehasonlításra használják, és nem újraszámolhatók. |
MD5 |
Kisbetűs hatszög | Egy MD5 összefoglaló (RFC 1321), 32 hex karakter. |
CRC32 |
Kisbetűs hatszög | Egy CRC32 ellenőrzőösszeg (RFC 2083), 8 hex karakter. |
CRC32C |
Kisbetűs hatszög | Egy CRC32C ellenőrzőösszeg (RFC 3385), 8 hexkarakter. |
SHA-256 |
Kisbetűs hatszög | Egy SHA-256 összefoglaló (RFC 6234), 64 hex karakter. |
Például egy MD5 ellenőrző összeg úgy néz ki, mint MD5:d41d8cd98f00b204e9800998ecf8427e, és egy objektum-tároló eTag úgy néz ki, mint ETAG:"686897696a7c876b7e", beleértve a környező idézőjeleket, amelyeket az objektum tároló ad.
Válassz a FILE és között BINARY
Az alábbi táblázat összehasonlítja a strukturálatlan fájlokkal való munkavégzés lehetőségeit:
| Oszloptípus | Értékek | Felhasználási eset |
|---|---|---|
FILE |
Egy szabályzott hivatkozás egy fájlra, plusz metaadat (uri, size, content_type, checksum). |
Felhasználás strukturálatlan fájlok kezelésére és feldolgozására, valamint fájlok átadására beépített és mesterséges intelligencia funkcióknak. |
BINARY |
Egy fájl nyers bájtjai, egy oszlopban sorban. | Kis objektumok (alapértelmezés szerint akár 64 KB) esetén használat, amelyeket közvetlenül az adatfájlban tárolnak. Ez akkor hasznos, ha alacsony metaadat-terhelésre és egyszerűsített fájlkezelésre van szükség. Például ezt használhatjuk a thumbnailok soradatokkal együtt tárolásához. |
FÁJLKEZELŐ és KÜLSŐ fájl
A típus FILE két megközelítést támogat a fájlok kezelésére:
-
FILE MANAGEDoszlopok a fájlokat másolják a kezelt tárolóba. Az engedélyeket leegyszerűsítik és a táblázaton keresztül kezelik. Amikor törlöd a sorokat, vagy frissíted őket, hogy különböző fájlokra hivatkozzanak, a hivatkozás nélküli fájlok jogosulttá válnak a szemétgyűjtésre, így a tábla és a fájlok szinkronban maradnak. Ezt a megközelítést alkalmazzuk olyan munkaterheléseknél, amelyek táblázaton keresztül érnek hozzá fájlokat, például ML képzés vagy lekérdezés-augmentált generálás (RAG), valamint külső forrásokból származó fájlokat is. A felvételi mintákért lásd: Ingest fájlok FILE típusként. -
FILE EXTERNALoszlopok hivatkoznak a Unity Catalog kötetben meglévő fájlokra. A fájlokat a Unity Catalog kötetengedélyei védik, de az életciklusukat nem a Unity Catalog kezeli, és nem másolják le őket. Használd ezt a megközelítést, amikor fájlokat kell referálnod anélkül, hogy adatokat mozgatnál vagy megzavarnád a meglévő kötetről olvasó eszközöket.
Az Azure Databricks olyan munkaterheléseket ajánlFILE MANAGED, amelyek fájlszintű jogosultságokat és beépített megfelelőséget élveznek: minden fájlhoz való hozzáférést a hivatkozó tábla szabályozza, és a sorok törlése miatt a hivatkozott fájlok alkalmassá teszik a hulladékgyűjtésre. Akkor használd, FILE EXTERNAL amikor a fájloknak a meglévő kötetútvonalaikon kell maradniuk olyan eszközök számára, amelyek a táblán kívül olvassák őket.
Lekérdezéseknél nincs különbség a menedzselt és külső fájlok között.
A következő ábra bemutatja, hogyan köti össze a FILE típus a kódodat a felhőalapú objektumtárolásban lévő fájlokkal:
FILE MANAGED
FILE MANAGED az oszlopok tárolják a fájlok másolatait egy FileSpaceUnity Catalog kötetben, amelyet a táblázat számára bejelenthetsz kezelt tárolóként. Az életciklusuk a táblákhoz kötött: a sorok törlése alkalmassá teszi a hivatkozott fájlokat a szemétgyűjtésre, így a tábla és a fájlok szinkronban maradnak.
Az alábbi viselkedések érvényesek a következő helyzetekre FILE MANAGED:
- A deklaráláshoz
FileSpaceadatabricks.filespace-previewtábla tulajdonság szükséges. - Egy menedzselt fájl olvasásához vagy írásához hozzáférést igényel mind a táblához, mind a kötethez, amely a
FileSpace-t támogatja. - Az automatikus szemétgyűjtés a hivatkozás nélküli fájlokról nem támogatott a Bétában.
A külső forrásokban, például a SharePoint, Google Drive, OneDrive és SFTP által tárolt strukturálatlan fájlokat menedzselt fájlként kell felvenni, mielőtt olyan funkciókkal és ai_parse_document) használhatnánk. A felvételi mintákért lásd: Ingest fájlok FILE típusként.
A menedzselt fájlok használatához hozz létre egy táblát oszloppal FILE MANAGED , és deklaráljunk egy kötetet úgy, FileSpace hogy a databricks.filespace-preview tábla tulajdonságát kötetútnak állítsuk be:
'databricks.filespace-preview' = '/Volumes/<catalog>/<schema>/<volume_name>/<optional_path>'
Teljes példákért lásd az alábbi FILE MANAGED példákat.
FILE MANAGED példák
Egy oszlopos táblázat FILE MANAGED létrehozásához:
CREATE TABLE reports (id BIGINT, file FILE MANAGED)
TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
Ha egy FILE MANAGED oszlopot szeretnél hozzáadni egy meglévő táblához, állítsuk be a databricks.filespace-preview tábla tulajdonságát az oszlop hozzáadása előtt, mint a következő kódban:
ALTER TABLE reports SET TBLPROPERTIES ('databricks.filespace-preview' = '/Volumes/my_catalog/my_schema/my_managed_volume/');
ALTER TABLE reports ADD COLUMN attachment FILE MANAGED;
Egy oszlop hozzáadása FILE MANAGED egy táblázathoz, amelynek nincs FileSpace hibája.
Töröld a hivatkozás nélküli menedzselt fájlokat
Mivel az automatikus szemétgyűjtés nem támogatott, töröld magad a hivatkozás nélküli fájlokat. A következő jegyzetfüzet megtalálja azokat a FileSpace fájlokat, amelyekre nincs táblázatverzió hivatkozva, és opcionálisan törli őket:
FileType szemétgyűjtő jegyzetfüzet
FILE EXTERNAL
FILE EXTERNAL az oszlopok olyan fájlokra utalnak, amelyek már léteznek egy Unity Catalog kötetben.
Ha megvannak a szükséges jogosultságok a köteten, frissítheted vagy törölheted ezeket a fájlokat. A Databricks azt javasolja, hogy használj változatlan fájlokat. A táblázat megadása feltárja a fájl metaadatait, de a fájl bájtjainak olvasásához is szükség van az READ VOLUME alapul szolgáló kötetre vonatkozó jogosultságra.
Egy külső fájl minden táblázatsort egy Unity Catalog kötetben lévő meglévő útján lévő fájlhoz képezi:
FILE EXTERNAL példák
Egy oszlopos táblázat FILE EXTERNAL létrehozásához:
CREATE TABLE documents (id BIGINT, file FILE EXTERNAL);
Egy oszlop hozzáadása FILE EXTERNAL egy meglévő táblához:
ALTER TABLE documents ADD COLUMN file FILE EXTERNAL;
Egy kötetből egy tábla létrehozásához és feltöltéséhez egyedi azonosítók hozzárendelése minden fájlhoz:
CREATE TABLE documents AS
SELECT monotonically_increasing_id() AS id, file
FROM list_files('/Volumes/samples/sec/contracts/');
Kormányzás és életciklus összehasonlítása
Az alábbi táblázat összehasonlítja, hogyan FILE MANAGED irányítja FILE EXTERNAL a fájlhozzáférést és kezeli a fájléletciklust:
| Oszloptípus | FILE MANAGED |
FILE EXTERNAL |
|---|---|---|
| Fájlhozzáférés-ellenőrzés | A táblázat és kötet engedélyei szabályozzák, például SELECT az asztalon és READ VOLUME a köteten. |
A kötetengedélyek szabályozzanak, mint READ VOLUMEpéldául . |
| Életciklus-kezelés és szemétgyűjtés | A fájlok azokhoz a sorokhoz vannak kötve, amelyek hivatkoznak rájuk. Ezeknek a soroknak a törlése miatt a fájlok alkalmasak a szemétszállításra. Az automatikus szemétszállítás nem támogatott. | Te magad kezeled a fájlokat. Egy táblázatsorának törlése nem befolyásolja a kötet alatta lévő fájlt. |
FILE típusú felhasználási esetek
Mind a menedzs, mind a külső FILE típusok a strukturálatlan adatok felhasználásával kapcsolatos használati esetek következő kihívásait kezelik:
| Kihívás | Támogatott FILE típus |
Benefits |
|---|---|---|
Fájlok túl nagy ahhoz, hogy sorban tárolják BINARY |
FILE MANAGED vagy FILE EXTERNAL |
Egy FILE oszlop tárol egy hivatkozást, így egy fájl csak akkor olvasható, ha egy AI függvény vagy UDF feldolgozza azt. Ez elkerüli, hogy nagy objektumok a táblázatban beilleszkedjenek a lényegre. |
| A fájlrendszer és a tábla közötti elszakadt életciklus és irányítás | FILE MANAGED |
Az Azure Databricks minden fájl életciklusát a táblához köti, így a sorok törlése lehetővé teszi a fájlok tisztítására való alkalmasságot, nem pedig a rejtélybe hagyott árva fájlokat. |
| Egyidejű munkaterhelések, amelyekhez a fájlok ugyanabban a helyen kell maradniuk | FILE EXTERNAL |
A fájlok a meglévő kötetútvonalaikon maradnak, a tábla életciklusa nem befolyásolja őket, így más eszközök, amelyek ugyanazokat a fájlokat olvassák, nem sérülnek meg. |