如何使用 SnowSQL CLI 客户端连接雪花

在本教程中,我们将学习什么是 SnowSQL,如何在 Linux 和 Windows 中安装 SnowSQL,最后如何使用 SnowSQL 连接到 Snowflake。

在开始使用 SnowSQL 之前,我建议您先查看以下链接,以了解 Snowflake 到底是什么以及如何在 Snowflake 中创建免费试用帐户。

  • 雪花数据仓库简介

1. 什么是 SnowSQL?

SnowSQL 是 Snowflake 的 CLI 客户端,可用于与 Snowflake 交互并执行 DDL 和 DML 操作,以及数据加载和卸载操作。

2、在Linux中安装SnowSQL

我们已经创建了免费试用帐户,打开 Snowflake UI 下载 SnowSQL 安装程序。 以下是我们免费试用帐户的 URL。

  • https://uz64318.southeast-asia.azure.snowflakecomputing.com/console#/internal/worksheet

打开您的 Web 浏览器并导航到 URL 以访问 Snowflake WebUI。 每个帐户的 URL 都是唯一的。

在 Snowflake WebUI 中,单击“帮助”并选择“下载”选项。

从 Snowflake WebUI 中选择下载选项

您可以进入 Snowflake Repository 下载 SnowSQL 包。 否则,您可以下载 SnowSQL rpm 从以下存储库中打包。

下载 SnowSQL CLI 客户端

右键单击适用于 Linux 的最新 SnowSQL CLI 客户端链接,然后单击“复制链接地址”。

下载适用于 Linux 的 SnowSQL CLI 客户端下载适用于 Linux 的 SnowSQL CLI 客户端

采用 wget 下载 SnowSQL CLI rpm 文件。

# wget https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowflake-snowsql-1.2.21-1.x86_64.rpm

使用以下命令安装 SnowSQL root 用户。

# rpm -i snowflake-snowsql-1.2.21-1.x86_64.rpm

安装后,通过检查 SnowSQL 的版本来验证安装。

# snowsql -v
检查 SnowSQL 版本检查 SnowSQL 版本

您可以通过运行以下命令显示 SnowSQL 客户端的帮助部分:

# snowsql
显示 SnowSQL 帮助显示 SnowSQL 帮助

3. 在 Linux 中使用 SnowSQL 连接 Snowflake

使用以下语法从终端窗口连接雪花:

# snowsql -a <account-name> -u <username>

您可以从您的帐户唯一的 URL 中获取帐户名称。 帐户名称由唯一的帐号和 Cloud 地区。

雪花帐户名称和用户名雪花帐户名称和用户名

正如您在上面的屏幕截图中看到的,这是我的 Snowflake 网址、Snowflake 的帐户和用户名。

  • 账户网址: https://uz64318.southeast-asia.azure.snowflakecomputing.com/console#/internal/worksheet
  • 帐户名称: uz64318.southeast-asia.azure
  • 用户名: OSTECHNIX

使用以下命令连接雪花。

# snowsql -a uz64318.southeast-asia.azure -u OSTECHNIX

您将被要求输入您的帐户密码。

Password:
* SnowSQL * v1.2.21
Type SQL statements or !help
OSTECHNIX#[email protected](no database).(no schema)>
在 Linux 中使用 SnowSQL 连接雪花在 Linux 中使用 SnowSQL 连接雪花

笔记: 在本文中,我们使用 Powershell 作为 CLI 进行进一步演示。 在实时工业实践中,大多数最终用户/业务用户将拥有 Windows 机器。 因此,大多数用例将依赖 Powershell。 Powershell 和 Linux 上的所有 SnowSQL 查询/语法都相同 bash.

4.在Windows中安装SnowSQL

下载 SnowSQL CLI 客户端同上。 在 Snowflake WebUI 中,单击“帮助”并选择“下载”选项。

从 Snowflake WebUI 中选择下载选项从 Snowflake WebUI 中选择下载选项

单击雪花存储库链接。

雪花存储库雪花存储库

单击 Snowflake 存储库后,您将被定向到 SnowSQL 存储库页面,您可以在其中下载安装程序。 在这里,我下载了适用于 Windows 操作系统的最新版本的安装程序。

您可以使用以下 URL 根据您的操作系统型号下载安装程序。

  • https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/index.html
SnowSQL 安装程序文件SnowSQL 安装程序文件

下载Installer包后,直接执行安装即可。

在 Windows 中安装 SnowSQL在 Windows 中安装 SnowSQL

安装后,您将获得以下页面,您可以在其中获取有关如何连接 Snowflake 帐户的说明。

SnowSQL 安装完成SnowSQL 安装完成

打开一个新的终端 (cmd) 或 Powershell。 这里我使用了推荐的 Powershell,因为 Powershell 是 Windows 中更高级的 cmd 版本。

以管理员身份打开 Windows Powershell。

以管理员身份启动 Powershell以管理员身份启动 Powershell

您可以使用以下命令获取 snowsql 的帮助部分:

PS C:WINDOWSsystem32> snowsql
查看 SnowSQL 帮助部分查看 SnowSQL 帮助部分

您可以检查 SnowSQL 的版本以确保安装成功。

PS C:WINDOWSsystem32> snowsql -v
版本:1.2.21
PS C:WINDOWSsystem32>

5. 使用 SnowSQL CLI 客户端访问 Snowflake

使用以下语法从 Powershell 连接 Snowflake,就像我们在 Linux 中所做的那样 bash 贝壳。

snowsql -a <your_account_name> -u <username>

在这里,我的帐户名称是 uz64318.southeast-asia.azure 和用户名是 OSTECHNIX.

使用以下字符串连接雪花:

PS C:WINDOWSsystem32> snowsql -a uz64318.southeast-asia.azure  -u OSTECHNIX

您将被要求输入您的帐户密码。

Password:
* SnowSQL * v1.2.21
Type SQL statements or !help
OSTECHNIX#[email protected](no database).(no schema)>
使用 SnowSQL 访问雪花使用 SnowSQL 访问雪花

Snowflake 已由用户 OSTECHNIX 通过 SnowSQL 连接。 默认情况下,它将连接到默认数据仓库 ‘COMPUTE_WH’.

您可以在连接雪花时在连接字符串中指定数据库名称和架构名称。

snowsql -a uz64318.southeast-asia.azure  -u OSTECHNIX -d <databaseName> -s <schemaName>

使用以下命令检查可用的数据库。 将有几个默认数据库用于演示目的。

OSTECHNIX#[email protected](no database).(no schema)>show databases;
显示可用的数据库显示可用的数据库

使用以下命令连接特定数据库。

OSTECHNIX#[email protected](no database).(no schema)>use SNOWFLAKE_SAMPLE_DATA ;
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
1 Row(s) produced. Time Elapsed: 0.562s
连接特定数据库连接特定数据库

检查数据库下的可用模式 “SNOWFLAKE_SAMPLE_DATA”. 当我们连接到这个数据库时,它将反映在 shell 中。

OSTECHNIX#[email protected]SNOWFLAKE_SAMPLE_DATA.(no schema)> show SCHEMAS;
显示可用模式显示可用模式

使用以下命令连接任何特定架构。

OSTECHNIX#[email protected]_SAMPLE_DATA.(no schema)>use SNOWFLAKE_SAMPLE_DATA.WEATHER;
与特定架构连接与特定架构连接

现在用户“OSTECHNIX”与仓库“COMPUTE_WH”、数据库“SNOWFLAKE_SAMPLE_DATA”和模式“WEATHER”连接。

6. 创建数据仓库

仓库是 Snowflake 中的计算单元。 请参考我们之前的 文章 对雪花中的仓库及其大小与定价模型有概念性的了解。

在 Snowflake 中,大部分 DDL 命令可以通过三种方式执行:

  1. 雪SQL,
  2. 仪表板中的工作表,
  3. 在 Web 用户界面中。

6.1。 使用 SnowSQL 创建数据仓库

让我们创建一个名为“ostech_demo”的新仓库。

为此,请运行以下命令:

OSTECHNIX#[email protected]_SAMPLE_DATA.WEATHER>create or replace warehouse ostech_demo with
                                                   warehouse_size="X-SMALL" 
                                                   auto_suspend = 180 
                                                   auto_resume = true
                                                   initially_suspended = true;
创建仓库创建仓库

仓库属性:

  • 仓库尺寸 – 仓库大小
  • 自动暂停 – 仓库将在定义的秒数后暂停
  • 自动恢复 – 真 | False:如果该属性设置为True,则提交SQL语句时会自动启动仓库。
  • Initially_suspended – 真 | False:如果此属性设置为 True,则仓库在创建时处于暂停状态

您可以使用“显示”命令验证创建的仓库。

OSTECHNIX#[email protected]_SAMPLE_DATA.WEATHER>show WAREHOUSES;
从命令行显示仓库从命令行显示仓库

此外,您可以在 WebUI 中进行验证。 在 Snowflake WebUI 中,单击 仓库 选项。

从 WebUI 显示仓库从 WebUI 显示仓库

6.2. 在工作表中创建数据仓库

同样的“创建”命令也可以在雪花仪表板的工作表中运行。 此工作表是 Snowflake 附带的内置 SQL 客户端。

使用 Worksheet 创建另一个仓库“ostech_demo_2”。

create or replace warehouse ostech_demo_2 with
    warehouse_size="X-SMALL"
    auto_suspend = 180
    auto_resume = true
    initially_suspended = true;
从雪花仪表板创建仓库从雪花仪表板创建仓库

验证创建的仓库:

从雪花仪表板查看仓库从雪花仪表板查看仓库

6.3. 从 WebUI 创建数据仓库

您还可以使用仓库选项卡下的“创建”选项创建仓库。

创建仓库创建仓库

Enter 参数,然后单击“完成”。

Enter  仓库详情Enter 仓库详情

新仓库已创建。 在仓库选项卡下验证它。

查看仓库查看仓库

结论

在本文中,我们讨论了如何在 Linux 和 Windows 中安装 SnowSQL(Snowflake 的 CLI),以及如何使用 SnowSQL 连接 Snowflake,最后讨论了如何通过 3 种不同的方法创建 Warehouse。

我们将在接下来的文章中了解其他数据库管理活动,如数据库/表创建、数据加载、用户管理、访问管理。

资源: