create_file fonksiyon

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi evet olarak işaretlendi Databricks Runtime 18 LTS ve üzeri

Important

Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Bir hedef yola dizgi veya ikili içerik yükler ve yüklenen dosyaya referans döndürür FILE .

Syntax

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

Argümanları pozisyon olarak veya isimle iletebilirsiniz. Bir argümanı isimle ilettiğinizde, sonraki tüm argümanlar da isimle geçilmelidir. Daha fazla bilgi için adlandırılmış parametre çağırışına bakınız.

Arguments

  • content: İçeriği dosya olarak depolamak üzere olan A STRING veya BINARY ifade. A, STRING UTF-8 kodlanmış baytlar olarak saklanır.
  • destination_path: İçeriği yüklemek için isteğe STRING bağlı bir yol.
  • if_file_exists: Bir dosyanın hedef yolda zaten var olduğu durumlarda davranışı ayarlayan isteğe STRING bağlı bir sistem. Sadece argüman destination_path kullanıldığında geçerlidir. Kabul edilen değerler (küçük harf duyarsız) şunlardır:
    • 'error': Bir hata yaratıyor. Bu varsayılan değerdir.
    • 'overwrite': Mevcut dosyanın üzerine yazar.
    • 'skip': Yüklemeyi atlar ve mevcut dosyaya referans döndürür FILE .
  • content_type: Dosyanın içerik türünü belirten isteğe STRING bağlı bir durum. Sağlanmazsa, içerik türü giriş baytlarından çıkarılır.

İadeler

Yüklenen dosyaya referans veren bir FILE değer.

Notlar

  • Eğer kullanırsanız destination_path, dosya atomik olarak o yola yüklenir. Hedef konuma yazma erişiminiz olmalıdır; bu genellikle bir Unity Kataloğu cildidir.
  • Eğer bir dosya varış yolunda zaten mevcutsa, Azure Databricks varsayılan olarak hata oluşturur, ancak veya if_file_existsveya olarak ayarlamazsanız.overwriteskip

Yaygın hata koşulları

  • 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

Daha fazla bilgi için bkz. Azure Databricks'te Hata koşulları.

Examples

Bir diziyi belirli bir yolda yeni bir dosya olarak depolamak için:

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

Ham baytları depolamak ve içerik türünü açıkça ayarlamak için:

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;

Hedefte zaten bir dosya varsa yüklemeyi atlamak için:

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

Eğer destination_path ayarlanmadıysa, if_file_exists hata oluşturur:

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