创建 Azure 暂存区¶
暂存区指定数据文件的存储位置(即“暂存”),以便可以将文件中的数据加载到表中。
本主题内容:
可以直接从指定的 Azure 容器中的文件或 Azure“文件夹”路径(即键值前缀)中的文件加载数据。如果路径以 /
结尾,则加载相应 Azure 文件夹中的所有对象。
外部暂存区¶
除了直接从 Azure 容器中的文件加载之外,Snowflake 还支持创建命名的外部暂存区,其中封装了暂存文件所需的所有信息,包括:
暂存文件的 Azure 容器。
容器的命名存储集成对象或 Azure 凭据(如果受保护)。
加密密钥(如果容器中的文件已加密)。
命名的外部暂存区是可选的,但当您计划定期从同一位置加载数据时,建议 使用。有关创建外部暂存区的说明,请参阅下面的 `创建外部暂存区 `_。
创建外部暂存区¶
您可以使用 SQL 或 Web 界面创建命名的外部暂存区。
使用 SQL 创建外部暂存区¶
使用 CREATE STAGE 命令创建外部暂存区。
以下示例创建名为 my_azure_stage
的外部暂存区。CREATE 语句包括在 配置 Azure 容器以加载数据 中创建的 azure_int
存储集成,以在 myaccount
账户中访问 Azure 容器 container1
。
数据文件存储在 load/files/
路径中。该暂存区引用名为 my_csv_format
的命名文件格式对象,该对象描述了存储在路径中的文件中的数据:
CREATE STAGE my_azure_stage
STORAGE_INTEGRATION = azure_int
URL = 'azure://myaccount.blob.core.windows.net/mycontainer/load/files/'
FILE_FORMAT = my_csv_format;
备注
将 blob.core.windows.net
端点用于所有受支持类型的 Azure Blob 存储账户,包括 Data Lake Storage Gen2。
备注
通过为暂存区指定命名的文件格式对象(或单个文件格式选项),以后就不必在用于从暂存区加载数据的 COPY 命令中指定相同的文件格式选项。有关文件格式对象和选项的详细信息,请参阅 CREATE FILE FORMAT。
使用 Snowsight 创建外部暂存区¶
要使用 Snowsight 创建指定外部暂存区,请执行以下操作:
登录 Snowsight。
在导航菜单中,选择 Create » Stage » External Stage。
选择文件所在的外部暂存区之一:Amazon S3、Microsoft Azure 或 Google Cloud Platform。
在 Create Stage 对话框中,输入 Stage Name。
选择要在其中创建暂存区的数据库和架构。
输入外部云存储位置的 URL。
如果外部存储不是公开的,请启用 Authentication 并输入详细信息。有关更多信息,请参阅 CREATE STAGE。
(可选)取消选择 Directory table。目录表允许您在暂存区中查看文件,但需要仓库,因此会产生费用。您可以选择暂时取消选择此选项,稍后再启用目录表。
如果启用 Directory table,则可以选择 Enable auto-refresh,并选择事件通知或通知集成,以便在添加或删除文件时自动刷新目录表。要了解更多信息,请参阅 自动目录表元数据刷新。
如果文件已加密,请启用 Encryption 并输入详细信息。
(可选)展开 SQL Preview 以查看生成的 SQL 语句。若要为暂存区指定其他选项,例如 AUTO_REFRESH,可在工作表中打开此 SQL 预览。
选择 Create。
使用 Classic Console 创建外部暂存区¶
选择 Databases » <db_name> » Stages。
下一步: 从 Azure 暂存区复制数据