Editando e executando notebooks no Workspaces

Definir o contexto de execução

Os notebooks no Workspaces não definem automaticamente um banco de dados ou esquema. Para consultar dados, você deve definir o contexto de execução em uma célula usando os seguintes comandos SQL:

USE DATABASE <database>;
USE SCHEMA <schema>;
Copy

Para garantir que os notebooks sejam executados de maneira consistente em ambientes e clientes, use nomes totalmente qualificados para tabelas e outros objetos. Por exemplo:

-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;

-- Create a table using a fully qualified name
WITH filtered_events AS (
    SELECT
        user_id,
        event_type,
        event_timestamp
    FROM raw_events
    WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
Copy

Uso do seletor de função e warehouse

Você pode definir a função ativa e o warehouse para seu notebook.

Use o seletor no canto superior esquerdo do editor do Notebooks:

Seletor de função e warehouse

O warehouse de consulta é usado para executar as consultas SQL e a computação de pushdown do Snowpark que o notebook invoca. Ele também é usado para renderizar a grade de dados interativa, mas não há cobrança de crédito por essa operação.

Para saber mais sobre o uso de crédito, consulte Configurando a computação.

Criar uma sessão do Snowpark

O Snowpark é uma estrutura de desenvolvedor do Snowflake que permite criar pipelines de dados, transformações e lógica de machine learning diretamente no Snowflake sem mover os dados para fora da plataforma. Ele fornece APIs que operam com base nos dados do Snowflake como DataFrames, enviando a computação para o mecanismo do Snowflake para escalabilidade, desempenho e segurança.

Para usar as APIs Snowpark Python no Notebooks, primeiro crie uma sessão do Snowpark em uma célula Python:

from snowflake.snowpark.context import get_active_session
session = get_active_session()
Copy

Executar células

Há quatro opções de execução compatíveis:

  • Executar todas as células

  • Executar uma única célula

  • Executar a célula atual e todas as células acima (pelo menu de reticências da célula)

  • Executar a célula atual e todas as células abaixo (pelo menu de reticências da célula)

Cancelar a execução da célula

Use Stop na parte superior do notebook ou Cancel execution em uma célula.

Ambas as ações param a célula que está em execução e todas as células em fila acionadas por Run all.

Nota

O botão Run all pode mudar temporariamente para Stop quando o notebook está se conectando ou reconectando ao serviço.

Nomes de células

Você pode atribuir nomes às células para facilitar a navegação e fornecer rótulos contextuais.

Se um arquivo .ipynb importado já contém metadados de nome ou título, esses valores são usados automaticamente.

Referência de células

A referência de células bidirecional de SQL para Python permite reutilizar resultados e variáveis em células em qualquer linguagem, permitindo transições ininterruptas entre fluxos de trabalho SQL e Python.

Você pode passar o cursor do mouse sobre a dica de ferramenta do resultado para ver o nome do DataFrame que você pode usar para referenciar o resultado em Python e SQL.

Referência de células

Fazendo referência a resultados de células SQL

Cada célula SQL expõe os resultados como um ponteiro DataFrame do Pandas chamado dataframe_x.

  • Em SQL, faça referência a ele usando chaves duplas: {{dataframe_1}}.

  • Em Python, faça referência a ele diretamente como DataFrame do Pandas: dataframe_1.

Fazendo referência a variáveis Python

Para fazer referência a variáveis Python em consultas SQL, coloque-as entre chaves duplas. Por exemplo:

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

As variáveis DataFrame também são permitidas ao fazer referência a variáveis Python em SQL.

Exemplo de fluxo de trabalho

Célula Python

import pandas as pd

uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Copy

Célula SQL que faz referência à variável Python

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

Célula SQL que faz referência a resultados de células SQL

O resultado de uma célula SQL fornece um ponteiro DataFrame chamado dataframe_1. Você pode referenciá-lo em outra consulta SQL:

SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
Copy

Grade de dados interativa

A grade de dados oferece suporte a:

  • Rolagem

  • Pesquisar

  • Filtragem

  • Classificação

  • Criação de gráficos sem código

Construtor de gráficos integrado

Fornece uma experiência de usuário consistente para manipulação e visualização de dados em superfícies de edição no Workspaces.

Minimapa e status da célula

O minimapa gera um índice de cabeçalhos Markdown e exibe um status abrangente na sessão para cada célula (em execução, com sucesso, com falha e modificado).

Pesquisa e substituição global

É possível pesquisar palavras-chave em todas as células no notebook atual. Se você estiver editando uma célula específica, pressione esc para sair primeiro do modo de edição daquela célula.

Para pesquisar palavras-chave em todas as células no notebook atual, faça o seguinte:

  • Para pesquisar palavras-chave, selecione Search no minimapa ou use o atalho de teclado CTRL + F.

    As palavras-chave correspondentes em todas as células são mostradas. Você pode substituir o termo de pesquisa pelo valor desejado usando Replace next ou Replace all.

Kernel do notebook

O kernel do notebook permanecerá ativo enquanto o serviço do notebook estiver no estado RUNNING, permitindo a execução ininterrupta de processos críticos e de longa duração, como trabalhos de treinamento de ML e engenharia de dados.

Ações que não afetam a execução do kernel:

  • Navegar em outras páginas

  • Trabalhar em outra área do Snowsight

  • Fechar o navegador

  • Desligar o computador

Você pode desligar ou reiniciar o kernel usando o menu suspenso Connected.

Nota

O uso de Shut down kernel ou Restart kernel apagará as variáveis da memória, mas manterá os pacotes instalados pelo usuário. Se quiser um ambiente completamente limpo apenas com os pacotes pré-instalados, você deverá reiniciar o serviço ou criar um novo serviço e conectar-se a ele.

Se o serviço do notebook for suspenso, o kernel do notebook também será desligado. Para obter mais informações, consulte Configurando a computação.

Saída da célula

  • As saídas de células não são salvas no arquivo .ipynb e não podem ser exportadas.

  • A saída da célula em um notebook no Workspaces (espaços de trabalho tanto privados quanto compartilhados) é acessível ao usuário que executou o notebook.

  • A visibilidade da saída da célula é restrita ao usuário que iniciou a execução. Para executar células, sua função padrão ativa deve receber os privilégios OWNERSHIP ou USAGE no objeto de projeto de notebook (Notebook Project Object, NPO).

Magics do Jupyter

Os notebooks no Workspaces executam o kernel IPython (Interactive Python) e fornecem magics de célula e de linha padrão do Jupyter. Execute %lsmagic para ver os magics disponíveis.

Por exemplo, você pode usar o comando magic %run para invocar outro notebook:

  • Em uma célula Python de notebook_a, chame %run path/to/notebook_b.ipynb. Esse comando executa notebook_b no mesmo processo Python que notebook_a.

  • Para que DataFrames de variáveis e pandas em notebook_b sejam renderizados nos resultados de células de notebook_a, certifique-se de imprimi-los explicitamente. Por exemplo: print(var) ou display(df).

Ferramentas para desenvolvedores

As ferramentas para desenvolvedores incluem Terminal, Scratchpad e Variables Explorer. Essas ferramentas permitem que você explore e interaja com seus dados e com o ambiente do notebook.

Para acessar as ferramentas para desenvolvedores, na barra de controle na parte superior do notebook, selecione <icon>:ui:Tools.

Ícone de ferramentas de notebook

Você precisa estar conectado a um serviço de notebook para usar as ferramentas para desenvolvedores. Alternar para um serviço diferente reiniciará as ferramentas.

Usando o terminal

O terminal permite que você execute qualquer comando shell no ambiente de contêiner do notebook:

  • Instalar dependências: pip install, pip list ou verificar os pacotes instalados.

  • Gerenciar arquivos: ls, pwd, navegar por diretórios e visualizar arquivos.

  • Executar trabalhos paralelos

  • Monitorar o uso de recursos de computação

Exemplo de instalação e execução de htop para monitorar o uso de recursos de computação em tempo real:

# If installation fails, run `apt update` first
# Install `htop`
apt install htop

# Run `htop`
htop
Copy

Usando o Scratchpad

O Scratchpad é um espaço exploratório para você fazer experimentos rápidos, por exemplo, com códigos, ideias, cálculos ou notas, sem se preocupar com estrutura ou refinamento. Os comandos executados no Scratchpad não alteram o arquivo do notebook.

Você pode fazer o seguinte no Scratchpad:

  • Consultas ad hoc rápidas: testar SQL sem adicionar células ao seu notebook.

  • Exploração de dados: verificar conteúdos de tabelas, esquemas ou executar consultas exploratórias.

  • Depuração: verificar dados ou testar fragmentos de consulta antes de adicioná-los às células de um notebook.

  • Operações pontuais: executar comandos que não precisam ser salvos (como SHOW GRANTS ou DESCRIBE TABLE).

Os resultados permanecem visíveis enquanto você trabalha, mas não são salvos com o notebook.

Usando o navegador de variáveis

O navegador de variáveis é uma ferramenta visual que permite inspecionar as variáveis que são carregadas em sua sessão enquanto você está trabalhando interativamente. Ele mostra Name, Type, Shape e Preview para cada variável. As variáveis são atualizadas quando uma célula termina de ser executada.