Como usar o Snowflake Notebooks

Snowflake CLI inclui os seguintes comandos snow notebook, que permitem criar e executar notebooks Snowflake a partir da linha de comando:

Criação de um notebook

Nota

A partir da versão 3.4.0, o Snowflake CLI adicionou o comando snow notebook deploy para substituir o comando snow notebook create. Para manter a compatibilidade com versões anteriores, ainda é possível criar um notebook usando o comando snow notebook create, mas o Snowflake recomenda que você comece a usar o novo procedimento Implantar e criar um notebook.

O comando snow notebook create cria um notebook a partir de um notebook existente no estágio. O comando retorna um link para o novo notebook. O exemplo a seguir cria o notebook MY_NOTEBOOK a partir do notebook em estágio especificado:

snow notebook create MY_NOTEBOOK -f @MY_STAGE/path/to/notebook.ipynb
Copy

O comando cria o notebook no warehouse padrão definido para a conexão. É possível usar a opção --warehouse para especificar um warehouse alternativo ou especificar um se a conexão não definir um warehouse padrão.

Implantar e criar um notebook

O comando snow notebook deploy carrega arquivos locais em um estágio e cria um novo objeto de Notebook dentro do banco de dados e do esquema escolhidos. O arquivo de definição do projeto deve especificar o arquivo principal do notebook e o warehouse de consultas. A opção --replace substitui o objeto do Notebook especificado se ele já existir.

Cada notebook no Snowflake deve incluir um arquivo de definição de projeto snowflake.yml.

O exemplo a seguir mostra uma amostra do arquivo de definição de projeto snowflake.yml no notebook:

definition_version: 2
entities:
  my_notebook:
    type: notebook
    query_warehouse: xsmall
    notebook_file: notebook.ipynb
    runtime_environment_version: "2025.07"
    artifacts:
    - notebook.ipynb
    - data.csv
Copy

A tabela a seguir descreve as propriedades de uma definição de projeto no notebook:

Propriedades de definição do projeto do notebook

Propriedade

Definição

type

required, string

Deve ser notebook.

query_warehouse

required, string

Warehouse do Snowflake para hospedar o notebook.

notebook_file

required, string

Caminho para o arquivo do notebook.

artifacts

obrigatório, sequência de cadeias de caracteres

Lista de arquivos carregados no estágio. O arquivo do notebook deve ser incluído nessa lista.

stage_path

optional, string

Caminho para o estágio em que os artefatos serão armazenados. Padrão: notebooks/<notebook_id>.

compute_pool

optional, string

Pool de computação para um notebook em contêiner a ser usado.

Nota

Os notebooks em contêineres estão atualmente no PuPr.

runtime_name

optional, string

Nome do Container Runtime para um notebook em contêiner a ser usado. Os seguintes valores são válidos:

  • SYSTEM$BASIC_RUNTIME para tempo de execução de CPU

  • SYSTEM$GPU_RUNTIME para tempo de execução de GPU

Nota

Os notebooks em contêineres estão atualmente no PuPr.

runtime_environment_version

optional, string

Versão do ambiente de tempo de execução para uma entidade de notebook no arquivo de definição do projeto.

As implantações de entidade de notebook serão rejeitadas se compute_pool e runtime_environment_version forem especificados na configuração, levando a uma falha de validação.

Nota

Atualmente, esse campo se aplica apenas a notebooks executados em warehouses Snowflake padrão, não aqueles que usam pools de computação (notebooks em contêineres).

identifier

optional, string

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

  • Texto identificador de cadeia de caracteres

    identifier: my-notebook-id
    
    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 Notebook”’).

  • Objeto

    identifier:
      name: my-notebook-id
      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-notebook).

O exemplo a seguir faz o upload dos arquivos especificados no arquivo de definição do projeto e cria um novo notebook chamado my_notebook:

snow notebook deploy my_notebook
Copy
Uploading artifacts to @notebooks/my_notebook
  Creating stage notebooks if not exists
  Uploading artifacts
Creating notebook my_notebook
Notebook successfully deployed and available under https://snowflake.com/provider-deduced-from-connection/#/notebooks/DB.SCHEMA.MY_NOTEBOOK

Execução de um notebook

O comando snow notebook execute executa um notebook no modo headless. Atualmente, o comando retorna apenas uma mensagem indicando se o notebook foi executado com sucesso.

snow notebook execute MY_NOTEBOOK
Copy
Notebook MY_NOTEBOOK executed.