可以将任何格式的文件上传到卷,包括结构化、半结构化和非结构化数据。 通过 Azure Databricks UI 上传的文件不能超过每个文件 5 GB。 若要上传大于 5 GB 的文件,请使用用于 Python 的 Databricks SDK。 本页概述了将文件上传到卷的所有受支持方法:Azure Databricks UI、Azure Databricks SDK 和 Azure Databricks CLI。
有关上传和管理卷中的文件的更多详细信息,请参阅 使用 Unity 目录卷中的文件。
先决条件
在上传到卷之前,请确保具有以下各项:
- 启用了 Unity Catalog 的工作区
-
WRITE VOLUME在目标卷上 -
USE SCHEMA父架构上的 -
USE CATALOG于父目录中
使用 Azure Databricks UI 上传
按照以下步骤使用 Azure Databricks UI 将文件上传到磁盘卷:
- 在边栏中,单击“ 新建”,然后单击 “添加或上传数据”。
- 单击“ 将文件上传到卷”。
- 在 “文件”下,单击 “浏览 ”或“将文件拖放到放置区域”。
- 在目标卷下,选择卷或目录,或粘贴卷路径。
如果目标架构中不存在卷,可以通过单击“ 创建卷”来创建卷。
还可以在目标卷中创建新目录。
使用 Azure Databricks SDK 上传
以下代码片段演示如何使用用于 Python 的 Databricks SDK 上传文件:
# --- Uploading a file to a volume ---
# Upload method 1 (recommended when your data is in a local file path)
w.files.upload_from(volume_file_path, upload_file_path, overwrite=True)
# Upload method 2 (recommended when your data is in-memory or not a local file)
with open(upload_file_path, "rb") as f:
w.files.upload(volume_file_path, io.BytesIO(f.read()), overwrite=True)
使用 Azure Databricks CLI 上传
以下示例将从本地文件系统路径上传一个名为squirrels.csv的文件到一个名为squirrel-data的目录中,该目录位于名为my-volume的卷中。 如果目标中已存在该文件,则会覆盖该文件。
databricks fs cp /Users/<username>/squirrels.csv
/Volumes/<catalog>/<schema>/my-volume/squirrel-data --overwrite