Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime 18 LTS y versiones posteriores
Importante
Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.
Sube contenido en cadena o binario a una ruta de destino y devuelve una FILE referencia al archivo subido.
Syntax
create_file(content => content
[, destination_path => path ]
[, if_file_exists => mode ]
[, content_type => content_type ])
Puedes presentar argumentos por posición o por nombre. Después de aprobar un argumento por nombre, todos los argumentos siguientes también deben pasarse por nombre. Para más información, véase invocación de parámetros nombrados.
Arguments
-
content: ASTRINGoBINARYcon el contenido para almacenar como archivo. ASTRINGse almacena como bytes codificados en UTF-8. -
destination_path: Una ruta opcionalSTRINGpara subir el contenido. -
if_file_exists: Un opcionalSTRINGque establece el comportamiento cuando un archivo ya existe en la ruta de destino. Solo se aplica cuando se usa eldestination_pathargumento. Los valores aceptados (insensibles a mayúsculas) son:-
'error': Genera un error. Este es el valor predeterminado. -
'overwrite': Sobrescribe el archivo existente. -
'skip': Salta la subida y devuelve unaFILEreferencia al archivo existente.
-
-
content_type: Un opcionalSTRINGque especifica el tipo de contenido del archivo. Si no se proporciona, el tipo de contenido se infiere a partir de los bytes de entrada.
Devoluciones
Un FILE valor que hace referencia al archivo subido.
Notas
- Si usas
destination_path, el archivo se sube atómicamente a esa ruta. Debes tener acceso de escritura a la ubicación objetivo, que normalmente es un volumen del Catálogo de Unity. - Si un archivo ya existe en la ruta de destino, Azure Databricks genera un error por defecto a menos que configures
if_file_existsenoverwriteoskip.
Condiciones de error comunes
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
Para más información, consulta Condiciones de error en Azure Databricks.
Examples
Para almacenar una cadena como un nuevo archivo en un camino dado:
SELECT create_file(
content => 'hello, world',
destination_path => '/Volumes/my_catalog/my_schema/my_volume/greetings.txt'
);
Para almacenar bytes en bruto y establecer explícitamente el tipo de contenido:
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;
Para saltarse la subida si un archivo ya existe en el destino:
SELECT create_file(
content => my_binary_col,
destination_path => '/Volumes/my_catalog/my_schema/my_volume/report.pdf',
if_file_exists => 'skip'
);
Si destination_path no está activado, if_file_exists genera un error:
SELECT create_file(content => 'data', if_file_exists => 'overwrite');
Error: CREATE_FILE_ILLEGAL_USAGE.IF_FILE_EXISTS_WITHOUT_DESTINATION