create_file függvény

A következőre vonatkozik:yes Databricks SQL check mark yes 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.

Feltölt stringet vagy bináris tartalmat egy célútra, és visszaadja a FILE hivatkozást a feltöltött fájlra.

Szemantika

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

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

  • content: A STRING vagy BINARY kifejezés, amelynek tartalmát fájlként kell tárolni. A STRING UTF-8 kódolt bájtként van tárolva.
  • destination_path: Egy opcionális STRING útvonal a tartalom feltöltésére.
  • if_file_exists: Egy opcionális STRING eszkö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álatakor destination_path é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': Áthagyja a feltöltést, és visszaadja a FILE meglévő fájlra vonatkozó hivatkozást.
  • content_type: Egy opcionális STRING , amely meghatározza a fájl tartalmi típusát. Ha nincs megadva, a tartalomtípust a bemeneti bájtokból következtetjük ki.

Returns

Egy FILE érték, amely a feltöltött fájlra hivatkozik.

Jegyzetek

  • Ha használod destination_path, a fájl atomiszerűen feltöltődik erre az útra. Írási hozzáférésre van szükséged a célhelyre, ami általában egy Unity Catalog kötet.
  • 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 be vagy overwriteskip-re.

Gyakori hibafeltételek

  • 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

További információért lásd: Hibafeltételek az Azure Databricks-ben.

Examples

Egy string új fájlként tárolható egy adott úton:

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

A nyers bájtok tárolásához és a tartalomtípus explicit beállításához:

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;

Ha a fájl már létezik a célpontnál, hogy kihagyjuk a feltöltést:

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

Ha destination_path nincs beállítva, if_file_exists hiba keletkezik:

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