Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 18 LTS and above
Important
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.
Kopiert eine Datei auf einen Zielpfad und gibt eine FILE Referenz auf die kopierte Datei zurück. Versäumen destination , die Datei in den vom Unity Catalog verwalteten Speicher zu kopieren, der eine FILE EXTERNAL Referenz in eine Referenz FILE MANAGED umwandelt.
Syntax
copy_file(file => file
[, destination => destination ]
[, if_file_exists_mode => mode ])
Du kannst Argumente positionell oder mit dem Namen weitergeben. Nachdem Sie ein Argument beim Namen weitergegeben haben, müssen alle folgenden Argumente ebenfalls mit dem Namen weitergegeben werden. Für weitere Informationen siehe Aufruf von benannten Parametern.
Arguments
-
file: EinFILEWert, den man kopieren kann. -
destination: Eine optionaleSTRINGmit dem vollständigen Zielpfad, nicht nur einem Verzeichnis. Wenn sie weggelassen wird, wird die Datei in den von Unity Catalog verwalteten Speicher kopiert und eineFILE EXTERNALReferenz in eineFILE MANAGEDReferenz umgewandelt. -
if_file_exists_mode: Ein optionalesSTRINGFormular, das das Verhalten festlegt, wenn eine Datei bereits am Zielpfad existiert. Gilt nur, wenn das Argument verwendet wirddestination. Akzeptierte Werte (kleinschreibungsunempfindlich) sind:-
'error': Führt zu einem Fehler. Dies ist der Standardwert. -
'overwrite': Überschreibt die bestehende Datei. -
'skip': Überspringt das Kopieren und gibt eineFILEReferenz auf die bestehende Datei zurück.
-
Rückkehr
Ein FILE Wert, der auf die kopierte Datei verweist.
Hinweise
- Durch das
destinationWeglassen wird eine Referenz zuFILE MANAGEDumgewandeltFILE EXTERNAL. Azure Databricks wendet diese Umwandlung ebenfalls automatisch an, wenn man einenFILE EXTERNALWert in eine SpalteFILE MANAGEDeinfügt. - Wenn eine Datei bereits am Zielpfad existiert, löst Azure Databricks standardmäßig einen Fehler aus, es sei denn, man setzt
if_file_exists_modeaufoverwriteoderskip. - Wenn die Quelldatei nicht existiert, meldet Azure Databricks einen Fehler. Um in beiden Fällen einen Fehler auszulösen, um zurückzugeben
NULL, verwendentry_copy_fileSie Funktion.
Häufige Fehlerbedingungen
COPY_FILE_ERROR.FILE_NOT_EXISTSCOPY_FILE_ERROR.FILE_ALREADY_EXISTSCOPY_FILE_AUTHORIZATION_ERROR.READ_UNAUTHORIZEDCOPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
Weitere Informationen finden Sie unter Fehlerbedingungen in Azure Databricks.
Examples
Um eine Datei von einem Volume auf ein anderes zu kopieren:
SELECT copy_file(
to_file('/Volumes/source/data/input.csv'),
destination => '/Volumes/target/data/output.csv'
);
Um Dateien mit einem Dateinamen pro Zeile auf ein Zielvolumen zu kopieren:
SELECT copy_file(
source_file,
destination => '/Volumes/my_catalog/my_schema/my_volume/processed/' || file_name,
if_file_exists_mode => 'skip'
)
FROM staging_files;
Um das Ziel zu überschreiben, falls bereits eine Datei existiert:
SELECT copy_file(
to_file('/Volumes/source/reports/report.pdf'),
destination => '/Volumes/archive/reports/report.pdf',
if_file_exists_mode => 'overwrite'
);
Wenn die Quelldatei nicht existiert, copy_file führt ein Fehler aus:
SELECT copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
Error: COPY_FILE_ERROR.FILE_NOT_EXISTS