重要
此功能以 公共预览版提供。
本文介绍如何使用添加数据 UI 通过 Unity 目录外部位置从 Azure Data Lake Storage 中的数据创建托管表。 外部位置是一个对象,该对象将云存储路径与授权访问云存储路径的存储凭据相结合。
开始之前
在开始之前,必须满足以下条件:
- 一个启用了 Unity Catalog 的工作区。 有关详细信息,请参阅 Unity 目录入门。
 - 对外部位置的 
READ FILES权限。 有关详细信息,请参阅 授予对外部位置的权限 - 对要在其中创建托管表的架构拥有 
CREATE TABLE权限、对该架构拥有USE SCHEMA权限,并对父目录拥有USE CATALOG权限。 有关详细信息,请参阅 Unity 目录特权和安全对象。 
文件类型
支持以下文件类型:
- CSV
 - TSV
 - JSON
 - XML
 - AVRO
 - Parquet
 
步骤 1:确认对外部位置的访问权限
若要确认对外部位置的访问权限,请执行以下操作:
在 Azure Databricks 工作区的边栏中,单击“目录”。
在数据资源管理器中,单击“外部数据”“外部位置”>。
步骤 2:创建托管表
若要创建托管表,请执行以下操作:
在工作区的边栏中,单击“+ 新建”“添加数据”。
在添加数据 UI 中,单击“Azure Data Lake Storage”。
从下拉列表中选择一个外部位置。
选择要加载到 Azure Databricks 中的文件夹和文件,然后单击“预览表”。
从下拉列表中选择一个目录和架构。
(可选)编辑表名。
(可选)若要按文件类型设置高级格式选项,请单击“高级属性”,关闭“自动检测文件类型”,然后选择文件类型。
有关格式选项的列表,请参阅以下部分。
(可选)若要编辑列名,请单击列顶部的输入框。
列名不支持逗号、反斜杠或 Unicode 字符(例如表情符号)。
(可选)若要编辑列类型,请单击类型对应的图标。
单击“创建表”。
文件类型格式选项
根据文件类型,可以使用以下格式选项:
| 格式选项 | 说明 | 支持的文件类型 | 
|---|---|---|
Column delimiter | 
列之间的分隔符。 仅允许单个字符,且不支持反斜杠。 默认值为逗号。  | 
CSV | 
Escape character | 
分析数据时要使用的转义字符。 默认值为引号。  | 
CSV | 
First row contains the header | 
该选项指定文件是否包含标题。 默认情况下启用。  | 
CSV | 
Automatically detect file type | 
自动检测文件类型。 默认值为 true。 | 
XML | 
Automatically detect column types | 
自动从文件内容中检测列类型。 可以在预览表中编辑类型。 如果设置为 false,则推断所有列类型均为 STRING。 默认情况下启用。  | 
  | 
Rows span multiple lines | 
列的值是否可以在文件中跨越多行。 默认已禁用。  | 
  | 
Merge the schema across multiple files | 
是否在多个文件中推断模式并合并每个文件的模式。 默认情况下启用。  | 
CSV | 
Allow comments | 
文件中是否允许注释。 默认情况下启用。  | 
JSON | 
Allow single quotes | 
文件中是否允许单引号。 默认情况下启用。  | 
JSON | 
Infer timestamp | 
是否尝试将时间戳字符串推理为 TimestampType。默认情况下启用。  | 
JSON | 
Rescued data column | 
是否保存与架构不匹配的列。 有关详细信息,请参阅什么是恢复数据列? 默认情况下启用。  | 
  | 
Exclude attribute | 
是否排除元素中的属性。 默认值为 false。 | 
XML | 
Attribute prefix | 
属性的前缀,用于区分属性和元素。 默认值为 _。 | 
XML | 
列数据类型
支持以下几种列数据类型。 有关各个数据类型的详细信息,请参阅 SQL 数据类型。
| 数据类型 | 说明 | 
|---|---|
BIGINT | 
8 字节带符号整数。 | 
BOOLEAN | 
布尔(true、false)值。 | 
DATE | 
不带时区的日期。 | 
DECIMAL (P,S) | 
具有最大精度 P 和固定位数 S 的数字。 | 
DOUBLE | 
8 字节双精度浮点数。 | 
STRING | 
字符串值。 | 
TIMESTAMP | 
由字段 year、month、day、hour、minute 和 second 的值构成的值,包含会话本地时区。 | 
已知问题
- 在复杂数据类型中,你可能会遇到特殊字符的问题,例如 JSON 对象中的键包含反撇号或冒号。
 - 某些 JSON 文件可能要求手动选择 JSON 作为文件类型。 若要在选择文件后手动选择文件类型,请单击“高级属性”,关闭“自动检测文件类型”,然后选择“JSON”。
 - 复杂类型中的嵌套时间戳和小数可能会出现问题。