管理计算池

计算池是一个或多个虚拟机 (VM) 节点的集合,Snowflake 会在这些节点上运行您的 Snowpark Container Services 作业和服务。

有关计算池的详细信息,请参阅 Snowpark Container Services:使用计算池

本主题介绍如何使用服务执行以下任务:

对于常见操作,如列表或拖放,Snowflake CLI 使用 snow object 命令,如 管理 Snowflake 对象 中所述。

创建计算池

要创建一个有两个 CPUs 和 4 GB 内存的名为“pool_1”的计算池,请输入类似下面的 spcs pool create

snow spcs compute-pool create "pool_1" --min-nodes 2 --max-nodes 2 --family "CPU_X64_XS"
Copy

有关实例系列的更多信息,请参阅 SQL CREATE COMPUTE POOL 命令。

根据项目定义创建计算池

您可以通过 snowflake.yml 项目定义文件创建计算池,然后执行 snow spcs compute-pool deploy 命令。

下面显示的是一个 snowflake.yml 项目定义文件示例:

definition_version: 2
entities:
  my_compute_pool:
    type: compute-pool
    identifier:
      name: my_compute_pool
    min_nodes: 1
    max_nodes: 2
    instance_family: CPU_X64_XS
    auto_resume: true
    initially_suspended: true
    auto_suspend_seconds: 60
    comment: "My compute pool"
    tags:
      - name: my_tag
        value: tag_value
Copy

下表描述了计算池项目定义的属性。

计算池项目定义属性

属性

定义

type

requiredstring

必须是 compute-pool

identifier

optionalstring

实体的 Snowflake 标识符。该值可以采用以下形式:

  • 字符串标识符文本

    identifier: my-compute-pool
    
    Copy

    支持不带引号和带引号的标识符。要使用带引号的标识符,请在 YAML 值中包含周围的引号(例如,"My Compute Pool")。

  • 对象

    identifier:
      name: my-compute-pool
      schema: my-schema # optional
      database: my-db # optional
    
    Copy

    备注

    如果指定 schemadatabase,并在 name 属性中使用完全限定名称(例如 mydb.schema1.my-app),则会发生错误。

instance_family

requiredstring

实例族的名称。有关可用实例系列的列表,请参阅 CREATE COMPUTE POOL INSTANCE_FAMILY 参数。

min_nodes

optionalstring

计算池的最小节点数。此值必须大于 0。

默认值:1

max_nodes

optionalint

计算池的最大节点数。

auto_resume

optionalboolean

在向计算池提交服务或作业时是否会自动恢复计算池。

默认值:True

initially_suspended

optionalboolean

最初是否在暂停状态下创建计算池。如果为 true,则在创建计算池时,Snowflake 不会为计算池预置任何请求的节点。

默认值:False

auto_suspend_seconds

optionalint

您希望 Snowflake 自动暂停计算池的不活动秒数。

默认值:3600

comment

optionalstring

与计算池关联的注释。

tags

optionalTag sequence

计算池的标签名称和值。有关更多信息,请参阅 对象和列的标签配额

要创建计算池并将其部署到暂存区,请执行以下操作:

  1. 将当前目录更改为包含项目定义文件的目录。

  2. 运行 snow spcs compute-pool deploy 命令,类似如下:

    snow spcs compute-pool deploy
    
    Copy
    +---------------------------------------------------------------------+
    | key    | value                                                      |
    |--------+------------------------------------------------------------|
    | status | Compute pool MY_COMPUTE_POOL successfully created.         |
    +---------------------------------------------------------------------+
    

暂停和恢复计算池

备注

当前角色必须拥有计算池的 OPERATE 权限,才能暂停或恢复计算池。

要暂停计算池,请输入类似下面的命令:

snow spcs compute-pool suspend tutorial_compute_pool
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

要恢复暂停的计算池,请输入类似下面的命令:

snow spcs compute-pool resume tutorial_compute_pool
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

设置和取消设置计算池的属性或参数

备注

当前角色必须具有计算池的 MODIFY 权限才能设置属性。

要设置属性或参数,请输入类似下面的命令:

snow spcs compute-pool set tutorial_compute_pool --min-nodes 2 --max-nodes 4
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

要将属性或参数重置为默认值,请输入类似下面的命令:

snow spcs compute-pool unset tutorial_compute_pool --auto-resume
Copy
+-------------------------------------------+
| key    | value                            |
|--------+----------------------------------|
| status | Statement executed successfully. |
+-------------------------------------------+

停止计算池中的所有服务

停止计算池会删除计算池上运行的所有服务,但不会停止计算池本身。

要停止计算池,请输入类似下面的 spcs compute-pool stop-all 命令:

snow spcs compute-pool stop-all "pool_1"
Copy
语言: 中文