Gerenciamento de pools de computação

Um pool de computação é uma coleção de um ou mais nós de máquinas virtuais (VM) nos quais o Snowflake executa suas tarefas e serviços do Snowpark Container Services.

Para obter mais informações sobre pools de computação, consulte Snowpark Container Services: como trabalhar com pools de computação.

Este tópico mostra como executar as seguintes tarefas com serviços:

Para operações comuns, como listar ou descartar, o Snowflake CLI usa comandos snow object conforme descrito em Gerenciamento de objetos Snowflake.

Criação de um pool de computação

Para criar um pool de computação denominado «pool_1» composto por dois CPUs com 4 GB de memória, insira um comando spcs pool create semelhante ao seguinte:

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

Para obter mais informações sobre famílias de instância, consulte o comando SQL CREATE COMPUTE POOL.

Criar um pool de computação a partir de uma definição de projeto

Você pode criar um pool de computação a partir de um arquivo de definição de projeto snowflake.yml e, em seguida, executar o comando snow spcs compute-pool deploy.

A seguir mostramos um exemplo de arquivo de definição de projeto 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

A tabela a seguir descreve as propriedades de uma definição de projeto de pool de computação.

Propriedades de definição de projeto de um pool de computação

Propriedade

Definição

type

required, string

Deve ser compute-pool.

identifier

optional, string

Identificador Snowflake para a entidade. O valor pode ter as seguintes formas:

  • Texto identificador de cadeia de caracteres

    identifier: my-compute-pool
    
    Copy

    Identificadores entre aspas e sem aspas são suportados. Para usar identificadores entre aspas, inclua as aspas ao redor do valor YAML (por exemplo, "My Compute Pool").

  • Objeto

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

    Nota

    Ocorrerá um erro se você especificar um schema ou um database e usar um nome totalmente qualificado na propriedade name (por exemplo, mydb.schema1.my-app).

instance_family

required, string

Nome da família da instância. Para obter uma lista das famílias de instâncias disponíveis, consulte o parâmetro CREATE COMPUTE POOL INSTANCE_FAMILY.

min_nodes

optional, string

Número mínimo de nós para o pool de computação. Este valor deve ser maior que 0.

Padrão: 1

max_nodes

opcional, int

Número máximo de nós para o pool de computação.

auto_resume

opcional, booliano

Se um pool de computação deve ser retomado automaticamente quando um serviço ou trabalho for enviado a ele.

Padrão: True

initially_suspended

opcional, booliano

Se o pool de computação é criado inicialmente no estado suspenso. Se true, o Snowflake não provisiona nenhum nó solicitado para o pool de computação no momento da criação do pool de computação.

Padrão: False

auto_suspend_seconds

opcional, int

Número de segundos de inatividade após os quais você deseja que o Snowflake suspenda automaticamente o pool de computação.

Padrão: 3600

comment

optional, string

Comentários para associar ao pool de computação.

tags

opcional, Sequência de tags

Nomes e valores de tags para o pool de computação. Para obter mais informações, consulte Cota de tags para objetos

Para criar e implementar o pool de computação em um estágio, faça o seguinte:

  1. Altere seu diretório atual para o diretório que contém o arquivo de definição do projeto.

  2. Execute um comando snow spcs compute-pool deploy semelhante ao seguinte:

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

Suspender e retomar um pool de computação

Nota

A função atual deve ter o privilégio OPERATE no pool de computação para suspendê-lo ou retomá-lo.

Para suspender um pool de computação, insira um comando semelhante ao seguinte:

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

Para retomar um pool de computação suspenso, insira um comando semelhante ao seguinte:

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

Ativar e desativar as propriedades ou os parâmetros de um pool de computação

Nota

A função atual deve ter o privilégio MODIFY no pool de computação para definir propriedades.

Para definir uma propriedade ou parâmetro, insira um comando semelhante ao seguinte:

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

Para redefinir uma propriedade ou parâmetro para seu valor padrão, insira um comando semelhante ao seguinte:

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

Parar todos os serviços em um pool de computação

Parar um pool de computação exclui todos os serviços em execução no pool de computação; no entanto, isso não interrompe o pool de computação em si.

Para interromper um pool de computação, insira um comando spcs compute-pool stop-all semelhante ao seguinte:

snow spcs compute-pool stop-all "pool_1"
Copy