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
    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.

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.