create_file функция

Область применения:check помечена да , проверка Databricks SQL помечено да Databricks Runtime 18 LTS и выше

Important

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Загружает строковое или двоичное содержимое в путь назначения и возвращает FILE ссылку на загруженный файл.

Syntax

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

Аргументы можно передавать позиционно или по имени. После того как вы передаете аргумент по имени, все последующие аргументы также должны быть переданы по имени. Для получения дополнительной информации см. вызов именованных параметров.

Arguments

  • content: A STRINGBINARY или выражение с содержимым для хранения в виде файла. A STRING сохраняется в виде байтов, закодированных в UTF-8.
  • destination_path: Необязательный STRING путь для загрузки контента.
  • if_file_exists: Опциональное STRING , задающее поведение, когда файл уже существует на пути назначения. Применяется только при использовании аргумента destination_path . Принятые значения (без регистра) следующие:
    • 'error': Повышает ошибку. Это значение по умолчанию.
    • 'overwrite': Перезаписывает существующий файл.
    • 'skip': Пропускает загрузку и возвращает FILE ссылку на существующий файл.
  • content_type: Опциональное STRING , указывающее тип содержимого файла. Если содержимое не указано, тип содержимого выводится по входным байтам.

Returns

Значение FILE , которое ссылается на загруженный файл.

Примечания

  • Если использовать destination_path, файл загружается атомарно на этот путь. Вы должны иметь доступ к записи в целевую локацию, которая обычно является томом Unity Catalog.
  • Если файл уже существует на пути назначения, Azure Databricks по умолчанию выдает ошибку, если только вы не установите if_file_exists или overwriteskip.

Распространенные условия ошибки

  • 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

Для получения дополнительной информации см. Ошибочные условия в Azure Databricks.

Examples

Чтобы сохранить строку как новый файл на заданном пути:

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

Для хранения необработанных байтов и установки типа содержимого явно:

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;

Чтобы пропустить загрузку, если файл уже существует в пункте назначения:

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

Если destination_path не установлен, if_file_exists возникает ошибка:

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