copy_file Funkce

Platí pro:check marked yes Databricks SQL check marked yes 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.

Zkopíruje soubor na cílovou cestu a vrací FILE odkaz na zkopírovaný soubor. Vynechat destination kopírování souboru do úložiště spravovaného Unity Catalog, které převádí FILE EXTERNAL odkaz na referenci FILE MANAGED .

Syntax

copy_file(file => file
  [, destination => destination ]
  [, if_file_exists_mode => mode ])

Můžete argumenty předávat pozičně nebo jménem. Poté, co předáte argument jménem, musí být všechny následující argumenty také předány jménem. Pro více informací viz volání pojmenovaného parametru.

Arguments

  • file: Hodnota FILE k kopírování.
  • destination: Volitelný STRING s plnou cílovou cestou k souboru, ne jen adresář. Pokud je soubor vynechán, je zkopírován do úložiště spravovaného Unity Catalog, čímž se FILE EXTERNAL odkaz převede na referenci FILE MANAGED .
  • if_file_exists_mode: Volitelné STRING , které nastavuje chování, když soubor již existuje na cílové cestě. Platí pouze při použití argumentu destination . Přijímané hodnoty (bez rozlišování pro velká písmena) jsou:
    • 'error': To vyvolává chybu. Toto je výchozí hodnota.
    • 'overwrite': Přepíše existující soubor.
    • 'skip': Přeskočí kopírování a vrátí FILE odkaz na existující soubor.

Returns

Hodnota, která odkazuje FILE na zkopírovaný soubor.

Poznámky

  • Vynechání destination převede FILE EXTERNAL odkaz na FILE MANAGED. Azure Databricks tuto konverzi také automaticky aplikuje, když do sloupce FILE EXTERNAL vložíte hodnotuFILE MANAGED.
  • Pokud soubor již existuje na cílové cestě, Azure Databricks ve výchozím nastavení zobrazí chybu, pokud nenastavíte if_file_exists_mode na overwrite nebo skip.
  • Pokud zdrojový soubor neexistuje, Azure Databricks zobrazí chybu. Pro vrácení NULL místo vyvolání chyby v obou případech použijte try_copy_file funkci.

Běžné chybové podmínky

  • COPY_FILE_ERROR.FILE_NOT_EXISTS
  • COPY_FILE_ERROR.FILE_ALREADY_EXISTS
  • COPY_FILE_AUTHORIZATION_ERROR.READ_UNAUTHORIZED
  • COPY_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED

Pro více informací viz Chybové podmínky v Azure Databricks.

Examples

Pro zkopírovaní souboru z jednoho svazku do druhého:

SELECT copy_file(
  to_file('/Volumes/source/data/input.csv'),
  destination => '/Volumes/target/data/output.csv'
);

Pro kopírování souborů do cílového svazku pomocí názvu souboru podle řádku:

SELECT copy_file(
  source_file,
  destination => '/Volumes/my_catalog/my_schema/my_volume/processed/' || file_name,
  if_file_exists_mode => 'skip'
)
FROM staging_files;

Pro přepsání cíle, pokud soubor již existuje:

SELECT copy_file(
  to_file('/Volumes/source/reports/report.pdf'),
  destination => '/Volumes/archive/reports/report.pdf',
  if_file_exists_mode => 'overwrite'
);

Pokud zdrojový soubor neexistuje, copy_file zobrazí se chyba:

SELECT copy_file(deleted_file, destination => '/Volumes/archive/reports/report.pdf');
Error: COPY_FILE_ERROR.FILE_NOT_EXISTS