Snowflake是一个完全托管的云数据平台,用户无需安装任何硬件或软件即可使用。对于习惯于SQL开发的人员来说,Snowflake的优势在于其自动处理查询性能优化和维护升级,且不支持本地部署环境。Snowflake支持多种工作负载,包括数据工程、数据湖、数据仓库、数据科学、数据应用和数据交换。
Snowflake的内部架构由三层组成:数据库存储层、查询处理层和云服务层。数据库存储层利用AWS、GCP或Azure等云存储服务,用户无需了解具体的云存储细节,因为这些都由Snowflake完全管理。查询处理层包含多个虚拟仓库,用于处理查询,每个虚拟仓库之间相互独立。云服务层则是一个协调服务,包括认证和访问控制、基础设施管理、优化器、元数据管理以及安全等组件。
Snowflake为新用户提供了400积分的免费试用账户,有效期为一个月。用户需要登录到指定的URL,并提供必要的信息,如姓名、邮箱、公司名称等,然后选择账户类型和云服务提供商及区域。完成这些步骤后,用户会收到一封邮件以激活账户,并设置用户名和密码。登录后,用户可以在基于Web的用户界面上快速了解Snowflake,并执行各种操作。
打开工作表并粘贴以下命令,使用RUN选项执行这些命令。
use role accountadmin;
# 创建一个名为test_warehouse的仓库
create warehouse if not exists test_warehouse warehouse_size ='SMALL' auto_suspend=300 initially_suspended=true;
USE WAREHOUSE TEST_WAREHOUSE
# 创建一个名为testdb的测试数据库
create database testdb;
# 检查数据库是否成功创建
show databases like 'test%';
USE DATABASE testdb
# 创建一个名为testschema的测试模式
create schema testschema;
# 检查模式是否成功创建
show schemas;
USE SCHEMA testschema
# 创建一个包含empid和empname两列的员工表
create or replace table test_emptable (empid number,empname varchar);
# 向员工表中插入样本数据
insert into test_emptable values(1,'Micheal');
insert into test_emptable values(2,'Nick');
insert into test_emptable values(3,'George');
# 检查表是否成功创建
show tables like 'test_emptable';
# 显示表的内容
select * from test_emptable
在上述代码中,使用了accountadmin角色,这是一个高级别的角色,可以访问所有对象。然后创建了一个名为“test_warehouse”的仓库,并在该仓库中创建了一个名为“testdb”的数据库。在该数据库中,创建了一个名为“testschema”的样本模式,然后创建了一个员工表并插入了数据。