在 Databricks SQL 中上传数据和创建表
使用 Databricks SQL 创建表 UI,可以快速上传 CSV 文件并创建 Delta 表。
注意
若要从云存储(如 Azure Data Lake Storage Gen2、AWS S3 或 Google Cloud Storage)加载文件,请查看有关 COPY INTO 的教程。
目标表的类型
通过 Databricks SQL 中的创建表,可以在 Unity 目录或 Hive 元存储中创建托管的 Delta 表。
重要
Unity Catalog 目前为公共预览版。 要使用该预览版,请联系 Azure Databricks 代表。
要求
- 若要将“在 Databricks SQL 中创建表”与 Unity Catalog 结合使用,需要元存储、目录和架构。
- 对于 Unity 目录,还必须对所选架构的父目录具有
USAGE权限。 - 如果工作区被分配给 Unity Catalog 元存储,仍可在 Hive 元存储中的架构下创建表。
- 对于 Unity 目录,还必须对所选架构的父目录具有
- 你需要对要在其中创建表的架构拥有
USAGE和CREATE权限。 - 必须具有正在运行的 SQL 仓库。
使用 CSV 上传创建表
可以通过将小型 CSV 文件从本地计算机导入到 Databricks SQL,来使用该 UI 创建 Delta 表。
- 该上传 UI 支持一次上传一个低于 100 兆字节的文件。
- 该文件必须是 CSV 文件,并且其扩展名必须为“.csv”。
- 不支持压缩的文件,例如
zip和tar文件。
上传文件
- 使用角色切换器导航到 SQL 角色。
- 若要更改角色,请单击 Databricks 徽标下方的图标
,并选择一个角色。
- 若要更改角色,请单击 Databricks 徽标下方的图标
- 单击边栏中的
“创建”,然后从菜单中选择“表”。 - 随即将显示 Databricks SQL 页中的“创建表”。

- 若要开始上传,请单击文件浏览器按钮或直接在放置区域中拖放文件。

注意
导入的文件将上传到帐户中的安全内部位置,这里每天都会进行垃圾回收。
表名称选择
上传完成后,可以选择数据的目标。

- 对于分配给 Unity Catalog 元存储的工作区,可以选择目录。 如果工作区未被分配给 Unity Catalog 元存储,则目标目录将被隐藏,并且架构将从 Hive 元存储加载。
- 若要在分配给 Unity Catalog 元存储的工作区中使用 Hive 元存储,请在目录选择器中选择
hive_metastore。
- 若要在分配给 Unity Catalog 元存储的工作区中使用 Hive 元存储,请在目录选择器中选择
- 选择架构。
- 默认情况下,UI 会将文件名转换为有效的表名。 你可以编辑表名。
数据预览
文件上传完成后,可以预览数据(限制为 50 行)。
- 上传后,UI 会尝试启动右上角选择的终结点。 你可以随时切换终结点,但预览和表创建需要活动的终结点。 如果终结点尚未处于活动状态,则它会自动启动。 这可能需要一些时间。 当终结点运行时,将启动预览。

- 有两种数据预览方法:垂直或水平。 若要切换预览选项,请单击表上方的切换按钮
。
格式选项
根据上传的文件格式,可以使用不同的选项。 常用格式选项显示在标题栏中,而不太常用的选项在“高级属性”模式下提供。
- 对于 CSV,可以使用以下选项。
- 第一行包含标题(默认情况下启用):该选项指定 CSV 文件是否包含标题。
- 列分隔符:列之间的分隔符。 仅允许单个字符,且不支持反斜杠。 对于 CSV 文件,默认为英文逗号。
- 自动检测列类型(默认情况下启用):自动检测文件内容中的列类型。 可以在预览表中编辑类型。 如果此选项设置为 false,则所有列类型均推断为
STRING。 - 行跨越多个行(默认情况下启用):一个列的值是否可以跨越文件中的多行。
编辑格式选项时,数据预览会自动更新。
列标题和类型
可以编辑列标题名称和类型。

- 若要编辑类型,请单击该类型的图标。
- 若要编辑列名,请单击列顶部的输入框。
- 列名不支持逗号、反斜杠或 Unicode 字符(例如表情符号)。
对于 CSV 文件,默认将推断列数据类型。 可以通过禁用“高级属性”>“自动检测列类型”,将所有列解释为 STRING 类型。
注意
支持的数据类型
“使用 CSV 上传创建表”支持以下数据类型。 有关各种数据类型的详细信息,请参阅 SQL 数据类型。
| 数据类型 | 说明 |
|---|---|
BIGINT |
8 字节带符号整数。 |
BOOLEAN |
布尔(true、false)值。 |
DATE |
由字段 year、month 和 day 的值构成的值,不包含时区。 |
DOUBLE |
8 字节双精度浮点数 |
STRING |
字符串值。 |
TIMESTAMP |
由字段 year、month、day、hour、minute 和 second 的值构成的值,包含会话本地时区。 |
创建表
若要创建表,请单击页面底部的“创建”。 
使用“在 Databricks SQL 中创建表”功能创建表后,指定的目录和架构下的 Delta 表的数据资源管理器页将会显示。
已知问题
- 将
BIGINT强制转换为DATE(例如以“yyyy”格式表示的日期)等不可强制转换的类型可能会引发错误。