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>;
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;
Uso do seletor de função e warehouse¶
Você pode definir a função ativa e o warehouse para seu notebook.
Execute os seguintes comandos SQL:
USE ROLE <role>;
USE WAREHOUSE <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()
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.
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;
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
Célula SQL que faz referência à variável Python
SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
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;
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
.ipynbe 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 executanotebook_bno mesmo processo Python quenotebook_a.Para que DataFrames de variáveis e pandas em
notebook_bsejam renderizados nos resultados de células denotebook_a, certifique-se de imprimi-los explicitamente. Por exemplo:print(var)oudisplay(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.
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 listou 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
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.
