使用 Web 界面加载数据¶
您可以使用 Snowsight 或 Classic Console 加载包含结构化数据(例如 CSV、TSV)或半结构化数据(例如 JSON、Avro、ORC、Parquet 或 XML)的文件。
使用 Web 界面从大小不超过 250 MB 的文件中加载数据。要加载更大的文件或加载大量文件,请使用 Snowflake 客户端 SnowSQL。有关更多信息,请参阅 从本地文件系统批量加载。
本主题内容:
使用 Snowsight 加载数据¶
可以使用 Snowsight 为以下场景加载文件:
将一个或多个文件从本地计算机或暂存区加载到现有表中。
加载本地文件或暂存文件时创建新表。Snowsight 使用 INFER_SCHEMA 表函数自动检测文件元数据架构,检索列定义,并生成新表。此功能不支持 XML 文件。
您可以从大小不超过 250 MB 的单个文件中加载数据。
访问控制权限¶
Snowsight 不支持使用数据库角色授予对数据库、架构或表的权限。使用账户角色与 Snowsight 进行交互。有关更多信息,请参阅 角色类型。
使用 Snowsight 加载数据¶
使用 Snowsight 加载数据需要至少具有以下权限的角色:
对象 |
权限 |
备注 |
---|---|---|
数据库 |
USAGE |
|
架构 |
USAGE |
|
暂存区 |
USAGE |
从暂存区加载文件时需要。 |
文件格式 |
USAGE |
使用 命名文件格式 时需要。 |
表 |
OWNERSHIP |
使用 Snowsight 加载数据时创建新表¶
使用 Snowsight 加载数据时创建新表需要至少具有以下权限的角色:
对象 |
权限 |
备注 |
---|---|---|
数据库 |
USAGE |
|
架构 |
CREATE TABLE |
|
暂存区 |
USAGE |
|
表 |
OWNERSHIP |
将文件加载到现有表中¶
登录 Snowsight。
在导航菜单中,选择 Data » Add Data。
在 Add Data 页面上,选择 Load data into a Table。
随即出现 Load Data into Table 对话框。
在 Load Data into Table 对话框中,选择要将数据加载到其中的数据库、架构和表。
选择 Browse 从本地计算机添加文件、Drag and drop to upload files 或 Add from stage。
如果选择 Add from stage,系统将显示暂存区浏览器。在暂存区浏览器中,您可以导航到暂存区和子文件夹,并从暂存区中选择特定的文件夹和文件。如果您选择 Add 而未选择暂存区中的任何特定文件,则系统将添加根暂存区,其中包括该暂存区中的所有文件和文件夹。
暂存区文件夹中可显示的最大文件数为 250。
添加文件后,选择 Next。此时将显示表架构对话框。
在表架构对话框中,执行以下操作:
从当前数据库中选择 文件格式。
选择要自定义的文件类型,然后选择数据文件的相关设置。
备注
要将 Parquet 数据加载到 Snowflake 管理的 Iceberg 表中,请取消选择 Load as a single variant column?。Snowflake 会将 Parquet 数据直接加载到 Iceberg 表列中。使用 Snowsight 加载 Parquet 文件时,仅支持默认的 LOAD_MODE = FULL_INGEST。有关更多信息,请参阅 COPY INTO <table>。
(可选)选择在加载过程中发生错误时应采取的措施。默认情况下,不会从文件加载任何数据。
选择其中一个 Match by column names 选项,以自动匹配源文件和目标表。默认选项为 case insensitive。
请注意,架构检测和可视列映射不支持 XML。
选择表架构对话框右侧的 Edit Schema 选项卡。您可以看到源文件和目标表之间的任何差异。根据需要进行调整。
如果选择 Table Preview 选项卡,则可以预览传入源文件的数据在目标表中的显示方式。
选择 Load。
Snowsight 加载文件并显示成功插入表中的行数。
加载文件时创建表¶
备注
不支持在加载数据时创建新的 Apache Iceberg™ 表,但您可以 将数据加载到现有 Iceberg 表中。
您可以在加载文件时通过以下步骤创建新表。
备注
此功能支持带分隔符的文件、JSON、Parquet、Avro 和 ORC 文件。它不支持 XML 文件。
登录 Snowsight。
在导航菜单中,选择 Create » Table » From File。
随即出现 Load Data into Table 对话框。
在 Load Data into Table 对话框中,选择或创建要在其中创建表的数据库和架构。
选择 Browse 从本地计算机添加文件、Drag and drop to upload files 或 Add from stage。
如果选择 Add from stage,系统将显示暂存区浏览器。在暂存区浏览器中,您可以导航到暂存区和子文件夹,并从暂存区中选择特定的文件夹和文件。如果您选择 Add 而未选择暂存区中的任何特定文件,则系统将添加根暂存区,其中包括该暂存区中的所有文件和文件夹。
请注意,暂存区文件夹中可显示的最大文件数为 250。
输入新表的名称,然后选择 Next。
Snowsight 检测文件的元数据架构,并返回由 INFER_SCHEMA 函数标识的文件格式和列定义。
查看推断的文件格式、数据类型、列名称和列数据示例。确保所有信息准确无误,并在需要时进行更新。
选择 Load。
Snowsight 加载文件并为该文件创建新表。
使用 Classic Console 加载数据¶
Classic Console 提供了一个向导,用于将有限数量的数据从一小组文件加载到表中。该向导执行的 PUT 和 COPY 操作与使用 SQL 相同,但将两个阶段(暂存文件和加载数据)合并为一个操作,并在加载完成后删除所有暂存文件。
可以从以下文件中加载数据:本地计算机上的文件,或 Snowflake、Amazon S3、Google Cloud Storage 或 Microsoft Azure 上现有云存储位置中已暂存的文件。
加载数据的先决条件¶
开始使用 Classic Console 加载数据之前,请执行以下操作:
确定数据文件的位置。可以从以下位置之一加载数据:
本地计算机。
内部或外部暂存区。
Amazon S3、Google Cloud Storage 或 Microsoft Azure 上的云存储位置,尚未作为外部暂存区添加到 Snowflake。
确定数据文件的大小。您加载的每个文件大小不超过 250 MB。要加载更大的文件或加载大量文件,请改用 Snowflake 客户端 SnowSQL。请参阅 从本地文件系统批量加载。
用于加载数据的角色必须具有相应权限:
要加载数据,角色必须具有数据库和架构的 USAGE 权限,且数据库和架构包含将数据加载到其中的表。
要在加载数据时创建暂存区,角色必须具有数据库架构的 CREATE STAGE 权限。
要在加载数据时创建文件格式,角色必须具有数据库架构的 CREATE FILE FORMAT 权限。
开始加载数据¶
要开始将文件加载到特定表中,请执行以下操作:
选择要加载的数据¶
根据您选择从中加载数据的位置,请执行相关步骤。如果要从多个位置加载数据,请多次使用 Load Data 向导。
要从计算机加载数据,请执行以下操作:
选择 Load files from your computer 选项,然后选择 Select Files,浏览要加载的文件。
选择一个或多个本地数据文件,然后选择 Open。
选择 Next。
要从现有暂存区加载数据,请执行以下操作:
选择 Load files from external stage 选项。
从 Stage 下拉列表中选择现有的暂存区。
(可选)指定暂存区中文件的路径。
选择 Next。
要创建暂存区,例如从外部云存储加载数据,请执行以下操作:
选择 Load files from external stage 选项。
选择 Stage 下拉列表旁边的 +。
选择文件所在的受支持的云存储服务。
选择 Next。
填写描述暂存区的字段。有关更多信息,请参阅 CREATE STAGE。
选择 Finish。
系统会自动从 Stage 下拉列表中选择新的暂存区。
(可选)指定暂存区中文件的路径。
选择 Next。
完成加载数据¶
选择要加载的文件后,完成将数据加载到表中的操作。
备注
如果在完成加载数据时仓库未运行,则必须等待仓库恢复(不超过 5 分钟)后才能加载数据。
要完成加载数据的操作,请执行以下步骤:
从下拉列表中选择现有的命名文件格式,或者创建一个文件格式。
要创建文件格式,请执行以下步骤:
选择下拉列表旁边的 +。
填写字段以匹配数据文件的格式。有关选项的说明,请参阅 CREATE FILE FORMAT。
选择 Finish。
系统会自动从下拉列表中选择新的命名文件格式。
确定如何处理加载数据时发生的错误:
如果希望在发生错误时停止数据加载,请选择 Load。
如果希望以不同的方式处理错误,请执行以下步骤:
选择 Next。
选择描述如何处理错误的选项。有关选项的详细信息,请参阅 COPY INTO <table> 的
ON_ERROR
部分。选择 Load。
Snowflake 使用您选择的仓库将数据加载到您选择的表中。
选择 OK 即可关闭 Load Data 向导。