create_file funkcja

Dotyczy:sprawdź, czy zaznaczono tak, sprawdź, czy usługa SQL databricks została oznaczona jako tak Databricks Runtime 18 LTS lub nowsza

Important

Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.

Przesyła zawartość ciągów lub binarnych na ścieżkę docelową i zwraca odwołanie FILE do przesłanego pliku.

Składnia

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

Możesz przekazywać argumenty pozycjonalnie lub po imieniu. Po przekazaniu argumentu po imieniu, wszystkie kolejne argumenty muszą być również przekazywane po imieniu. Więcej informacji można znaleźć w artykule wywołanie parametrów o nazwie (nazwane parametry).

Arguments

  • content: Wyrażenie STRING lub BINARY z treścią do przechowywania jako plik. A STRING jest przechowywane jako bajty zakodowane w UTF-8.
  • destination_path: Opcjonalna STRING ścieżka przesyłania treści.
  • if_file_exists: Opcjonalne STRING , które ustawia zachowanie, gdy plik już istnieje na ścieżce docelowej. Dotyczy tylko przy użyciu argumentu destination_path . Akceptowane wartości (nierozróżniające wielka litera) to:
    • 'error': To powoduje błąd. Jest to wartość domyślna.
    • 'overwrite': Nadpisuje istniejący plik.
    • 'skip': Pomija przesyłanie i zwraca odwołanie FILE do istniejącego pliku.
  • content_type: Opcjonalny STRING , który określa typ zawartości pliku. Jeśli nie jest podany, typ treści jest wywnioskowany z bajtów wejściowych.

Zwroty

Wartość FILE odnosząca się do przesłanego pliku.

Notatki

  • Jeśli użyjesz destination_path, plik jest przesyłany atomowo na tę ścieżkę. Musisz mieć dostęp do zapisu do docelowej lokalizacji, która zazwyczaj jest woluminem Unity Catalog.
  • Jeśli plik już istnieje na ścieżce docelowej, Azure Databricks domyślnie wyświetla błąd, chyba że ustawisz if_file_exists na overwrite lub skip.

Typowe warunki błędów

  • 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

Więcej informacji można znaleźć w artykule Condition Error conditions in Azure Databricks.

Examples

Aby zapisać ciąg jako nowy plik na danej ścieżce:

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

Aby przechowywać surowe bajty i wyraźnie ustawić typ treści:

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;

Aby pominąć przesyłanie, jeśli plik już istnieje w miejscu docelowym:

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

Jeśli destination_path nie jest ustawiony, if_file_exists powoduje błąd:

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