Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
, sprawdź, czy usługa SQL databricks
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żenieSTRINGlubBINARYz treścią do przechowywania jako plik. ASTRINGjest przechowywane jako bajty zakodowane w UTF-8. -
destination_path: OpcjonalnaSTRINGścieżka przesyłania treści. -
if_file_exists: OpcjonalneSTRING, które ustawia zachowanie, gdy plik już istnieje na ścieżce docelowej. Dotyczy tylko przy użyciu argumentudestination_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łanieFILEdo istniejącego pliku.
-
-
content_type: OpcjonalnySTRING, 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_existsnaoverwritelubskip.
Typowe warunki błędów
CREATE_FILE_ERROR.FILE_ALREADY_EXISTSCREATE_FILE_AUTHORIZATION_ERROR.WRITE_UNAUTHORIZEDCREATE_FILE_ILLEGAL_USAGE.CONTENT_REQUIREDCREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATIONCREATE_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