什么是暂存区以及如何在 SnowFlake 中创建表(使用暂存区的 csv 数据)

问题描述 投票:0回答:1

如何在暂存区加载 csv 文件并将文件加载到雪花表中。 我想将 csv 文件加载到雪花表中进行查询。告诉我所有类型的阶段及其优势。请用 1 个示例解释有关文件格式和复制数据命令的部分。

snowflake-cloud-data-platform bigdata data-warehouse
1个回答
-1
投票

Snowflake 是 1. 基于云的数据仓库平台。 2. 为存储、处理和分析数据提供完全托管、可扩展且高性能的解决方案。 3. 它旨在处理结构化和半结构化数据。

STGAE

  • 在 Snowflake 中,阶段是数据加载到 Snowflake 表之前或从 Snowflake 表卸载之后临时存储的位置。
  • 阶段用于管理数据移入和移出 Snowflake 的过程,并充当中间存储层。
  • 默认情况下,Snowflake 中的每个用户和表都会自动分配一个内部阶段,用于暂存要加载的数据文件。
  • 此外,您可以创建命名的内部阶段。类型:CSV, Parquet、Avro、Json、ORC、XML。

  1. 用户阶段:默认情况下,每个用户都有一个 Snowflake 阶段,用于存储文件。 一个。方便的选项->文件只能由单个用户访问,但需要复制到多个表中。 b.用户阶段引用@~;例如使用列表@~;列出用户阶段中的文件。 c.与命名阶段不同,用户阶段无法更改或删除。

  1. 表阶段:每个表都有一个分配给它的Snowflake阶段用于存储文件。 一个。如果您只需将文件复制到单个表中,但希望多个用户可以访问这些文件,请使用when->。 b.表阶段与表同名。 c.如果您需要将文件数据复制到多个表中,表阶段也不合适。 d.表阶段不支持在加载数据时转换数据

  1. 命名阶段:命名阶段是为数据加载提供最大程度灵活性的数据库对象。 一个。建议:当您计划可能涉及多个用户和/或表的常规数据加载时 b.在舞台上具有适当权限的用户可以将数据加载到任何表中。

文件格式: 创建命名文件格式,描述一组要访问或加载到 Snowflake 表中的暂存数据。 命名阶段示例:

第1步:创建表

create table employee.employee_schema.EMPLOYEE_1
(Emp_ID varchar,
First_Name varchar,
last_name varchar  );

第2步:创建文件格式

create file format employee.employee_schema.FILE_FORMAT_CSV
  type='csv',
  field_delimiter=',',
  skip_header=1;

第 3 步:创建阶段: 从 Snowflake 云 UI 打开 EMPLOYEE/EMPLOYEE_SCHEMA 架构 > 创建 > 阶段 > Snowflake Managed > 输入阶段名称:EMPLOYEE_STAGE> 选择 客户端加密>创建。然后上传 csv 文件。

第 4 步:复制数据将数据从暂存加载到表

  copy into EMPLOYEE_1
  from @EMPLOYEE_STAGE
  file_format=(format_name='employee.employee_schema.FILE_FORMAT_CSV');

如果遇到任何挑战,请告诉我。谢谢😄😄

© www.soinside.com 2019 - 2024. All rights reserved.