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.
Másolja a fájlt egy célútra, és visszaadja a FILE másolt fájlra vonatkozó hivatkozást. Kihagyjuk destination a fájl Unity Catalog által kezelt tárolóba való másolását, amely egy FILE EXTERNAL hivatkozást FILE MANAGED hivatkozássá alakít.
Szemantika
copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Pozícióban vagy név szerint is megfogalmazhatod az érveket. Miután név szerint adtál át egy érvet, az összes következő érvet is név szerint kell átadni. További információért lásd: Named parameter invocation.
Arguments
-
file: EgyFILEérték, amit másolni kell. -
destination: Egy opcionálisSTRINGopció, amely teljes célfájlúttal rendelkezik, nem csak egy könyvtárral. Ha kihagyják, a fájlt a Unity Catalog által kezelt tárolóba másolják, így egyFILE EXTERNALhivatkozástFILE MANAGEDhivatkozássá alakítanak. -
if_file_exists_mode: Egy opcionálisSTRINGeszköz, amely beállítja azt a viselkedést, amikor egy fájl már létezik a célúton. Csak az érv használatakordestinationérvényes. Az elfogadott értékek (kis- és kis- jelezhetetlen) a következők:-
'error': Hibát okoz. Ez az alapértelmezett érték. -
'overwrite': Felülírja a meglévő fájlt. -
'skip': Kihagyja a másolást, és visszaadja aFILEmeglévő fájlra vonatkozó hivatkozást.
-
Returns
Egy FILE érték, amely a másolt fájlra hivatkozik.
Jegyzetek
- A
destinationkihagyás egyFILE EXTERNALhivatkozást átalakít .FILE MANAGEDAz Azure Databricks automatikusan alkalmazza ezt az átalakítást, amikor egyFILE EXTERNALértéket beillesztünk egyFILE MANAGEDoszlopba. - Ha egy fájl már létezik a cél úton, az Azure Databricks alapértelmezetten hibát generál, hacsak nem állítod
if_file_exists_modebe vagyoverwriteskip-re. - Ha a forrásfájl nem létezik, az Azure Databricks hibát ad. A visszaállításhoz
NULLhibázás helyett a függvényt használjuktry_copy_file.
Gyakori hibafeltételek
COPY_FILE_ERROR.FILE_NOT_EXISTSCOPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.READ_UNAUTHORIZEDCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
További információért lásd: Hibafeltételek az Azure Databricks-ben.
Examples
Egy fájl másolásához egyik kötetről a másikra:
SELECT copy_file(
to_file('/Volumes/source/data/input.csv'),
destination => '/Volumes/target/data/output.csv'
);
Fájlok másolásához célkötetre soronkénti fájlnév használatával:
SELECT copy_file(
source_file,
destination => '/Volumes/my_catalog/my_schema/my_volume/processed/' || file_name,
if_file_exists_mode => 'skip'
)
FROM staging_files;
Ha egy fájl már létezik, felülírjuk a célpontot:
SELECT copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);
Ha a forrásfájl nem létezik, copy_file akkor hiba keletkezik:
SELECT copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
Error: COPY_FILE_ERROR.FILE_NOT_EXISTS