create_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.

Nahraje řetězcový nebo binární obsah na cílovou cestu a vrátí FILE odkaz na nahraný soubor.

Syntax

create_file(content => content
  [, destination_path => path ]
  [, if_file_exists => mode ]
  [, content_type => content_type ])

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

  • content: A STRING nebo BINARY výraz s obsahem uloženým jako soubor. A STRING je uložen jako bajty kódované UTF-8.
  • destination_path: Volitelná STRING cesta pro nahrání obsahu.
  • if_file_exists: Volitelné STRING , které nastavuje chování, když soubor již existuje na cílové cestě. Platí pouze při použití argumentu destination_path . 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čí nahrávání a vrátí FILE odkaz na existující soubor.
  • content_type: volitelné STRING , které specifikuje typ obsahu souboru. Pokud není uveden, typ obsahu se odvodí ze vstupních bajtů.

Returns

Hodnota, která odkazuje FILE na nahraný soubor.

Poznámky

  • Pokud použijete destination_path, soubor se nahraje atomicky na tuto cestu. Musíte mít přístup k zápisu cílové lokality, což je obvykle svazek Unity Catalog.
  • Pokud soubor již existuje na cílové cestě, Azure Databricks ve výchozím nastavení zobrazí chybu, pokud nenastavíte if_file_exists na overwrite nebo skip.

Běžné chybové podmínky

  • CREATE_FILE_ERROR.FILE_ALREADY_EXISTS
  • CREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZED
  • CREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIRED
  • CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION
  • CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_MODE

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

Examples

Pro uložení řetězce jako nového souboru na dané cestě:

SELECT create_file(
  content => 'hello, world',
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/greetings.txt'
);

Pro ukládání surových bajtů a explicitní nastavení typu obsahu:

SELECT create_file(
  content => my_binary_col,
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/image.png',
  content_type => 'image/png'
)
FROM raw_uploads;

Pro přeskočení nahrávání, pokud soubor již existuje v cílové destinaci:

SELECT create_file(
  content => my_binary_col,
  destination_path => '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
  if_file_exists => 'skip'
);

Pokud destination_path není nastaveno, if_file_exists vyvolává chybu:

SELECT create_file(content => 'data', if_file_exists => 'overwrite');
Error: CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION