Experience Snowflake with Legacy Snowflake Notebooks¶
O Snowflake Notebooks é um ambiente de desenvolvimento que é possível usar com outros recursos do Snowflake. Este tópico descreve maneiras de aproveitar outros recursos do Snowflake nos notebooks.
Snowpark Python em notebooks¶
A biblioteca do Snowpark fornece uma API intuitiva para consulta e processamento de dados em um pipeline de dados. Usando a biblioteca Snowpark, é possível criar aplicativos que processam dados no Snowflake sem mover os dados para o sistema em que o código do aplicativo é executado. Você também pode automatizar a transformação e o processamento de dados escrevendo procedimentos armazenados e programando esses procedimentos como tarefas no Snowflake.
Você pode usar o Snowpark para consultar e processar dados em escala no Snowflake escrevendo o código do Snowpark em uma célula Python de seu notebook.
Exemplo de uso¶
O Snowpark Python vem pré-instalado no ambiente Snowflake Notebooks. O exemplo a seguir usa a biblioteca Snowpark em um notebook para ler em um arquivo CSV e uma tabela Snowflake e exibir seu conteúdo como saída.
No notebook, adicione uma célula Python, usando o atalho de teclado ou selecionando + Python. Snowflake Notebooks e Snowpark oferecem suporte a Python 3.9.
Configure uma sessão de Snowpark. Em notebooks, a variável do contexto de sessão é pré-configurada. Você pode usar o método
get_active_sessionpara obter a variável do contexto de sessão:Use o Snowpark para carregar um arquivo CSV em um Snowpark DataFrame de um local de estágio. Este exemplo usa um estágio chamado
tastybyte_stage.Carregue uma tabela Snowflake existente,
app_order, ao Snowpark DataFrame.Mostre o Snowpark DataFrame.
Nota
Fora do ambiente do Snowflake Notebooks, é necessário chamar df.show() para imprimir o DataFrame. Nos Snowflake Notebooks, os DataFrames são avaliados imediatamente quando o df é impresso. O DataFrame é impresso como uma exibição DataFrame interativa do Streamlit (st.dataframe). A saída de DataFrames é limitada a 10.000 linhas ou 8 MB, o que for menor.
Limitações do Snowpark¶
Um notebook Snowflake cria uma sessão Snowpark, para que você possa usar a maioria dos métodos disponíveis em uma classe de sessão Snowpark. Entretanto, como um notebook é executado dentro do Snowflake e não em seu ambiente de desenvolvimento local, você não pode usar os seguintes métodos:
session.add_import
session.add_packages
session.add_requirements
Algumas operações do Snowpark Python não funcionam com SPROCs. Para uma lista completa de operações, consulte Limitações do procedimento armazenado do Python.
Dica
Visualize mais exemplos de notebooks que usam Snowpark:
Nota
These quickstarts are only shown as examples. Following along with the example may require additional rights to third-party data, products, or services that are not owned or provided by Snowflake. Snowflake does not guarantee the accuracy of these examples or cover them under any Service Level Agreement.
Streamlit em notebooks¶
Streamlit é uma biblioteca Python de código aberto que facilita a criação e o compartilhamento de aplicativos da Web personalizados para aprendizado de máquina e ciência de dados. Você pode criar aplicativos de dados interativos com o Streamlit diretamente em seu notebook. É possível testar e desenvolver seu aplicativo diretamente em um notebook. O Streamlit vem pré-instalado nos notebooks, para que você possa começar rapidamente.
Exemplo de uso¶
O Streamlit vem pré-instalado com o ambiente dos Snowflake Notebooks. O exemplo nesta seção cria um aplicativo de dados interativo usando o Streamlit.
Importação das bibliotecas necessárias
Primeiro, crie alguns dados de exemplo para o aplicativo.
Configure seu controle deslizante interativo na biblioteca Streamlit.
Por fim, mostre uma tabela filtrada com base no valor do controle deslizante.
Você pode interagir com o aplicativo em tempo real a partir do notebook. Veja a tabela filtrada mudar com base no valor definido no controle deslizante.
Dica
Para o exemplo completo, consulte a seção do aplicativo de dados interativos do notebook Histórias de dados visuais com os notebooks Snowflake.
Suporte Streamlit em notebooks¶
Mapbox e Carto fornecem blocos de mapa quando você usa os comandos st.map ou st.pydeck_chart do Streamlit.
Em tempos de execução de warehouse, que gerenciam seus pacotes com o conda, o Mapbox e o Carto são aplicativos de terceiros sujeitos aos Termos de ofertas externas do Snowflake.
Para usar esses comandos em tempos de execução de warehouse, você deve confirmar os Termos de ofertas externas. Os tempos de execução de contêiner não exigem essa confirmação.
Os seguintes elementos do Streamlit não são compatíveis no Notebooks:
-
Não há suporte para as propriedades
page_title,page_iconemenu_itemsdo comandost.set_page_config.
Notebooks do Container Runtime¶
O Container Runtime fornece opções de software e hardware para dar suporte a cargas de trabalho avançadas de ciência de dados e machine learning. Para obter detalhes sobre o Container Runtime, consulte Notebooks on Container Runtime.
Registro do Snowflake ML em notebooks¶
O Snowflake Model Registry permite que você gerencie com segurança os modelos e seus metadados no Snowflake, independentemente da origem. O registro de modelo armazena modelos de aprendizado de máquina como objetos ao nível de esquema de primeira classe no Snowflake para que eles possam ser facilmente encontrados e usados por outras pessoas em sua organização. Você pode criar registros e armazenar modelos neles usando a biblioteca Snowpark ML. Os modelos podem ter diversas versões e você pode designar uma versão como padrão.
Exemplo de uso¶
Para usar o registro de ML do Snowflake, instale a biblioteca snowflake-ml-python em seu notebook:
Em seu notebook, selecione Packages na parte superior.
Procure pelo pacote snowflake-ml-python e selecione a biblioteca a ser instalada.
Aqui está um exemplo de como você pode usar o registro de ML do Snowflake para registrar um modelo em log:
Dica
Veja este exemplo de ponta a ponta de como usar o registro de ML do Snowflake.
pandas on Snowflake no notebooks¶
O pandas on Snowflake permite que você execute seu código pandas de forma distribuída diretamente em seus dados no Snowflake. Apenas alterando a instrução de importação e algumas linhas de código, é possível obter a mesma experiência familiar nativa do pandas com os benefícios de escalabilidade e segurança do Snowflake.
Com o pandas on Snowflake, você pode trabalhar com conjuntos de dados muito maiores e evitar o tempo e as despesas de portar seus pipelines do pandas para outras estruturas de Big Data ou provisionar máquinas grandes e caras. Ele executa cargas de trabalho nativamente no Snowflake por meio de transpilação para SQL, permitindo o aproveitamento da paralelização e os benefícios de governança e segurança de dados do Snowflake.
O pandas on Snowflake é fornecido pela API Snowpark pandas como parte da biblioteca Snowpark Python, que permite o processamento de dados escaláveis do código Python dentro da plataforma Snowflake.
Exemplo de uso¶
O Snowpark pandas está disponível no Snowpark Python versão 1.17 e posteriores. O Snowpark Python vem pré-instalado com o ambiente de Snowflake Notebooks.
Para instalar o Modin, selecione
modinem Packages e certifique-se de que a versão seja 0.28.1 ou posterior.Para definir a versão do pandas, selecione
pandasem Packages e certifique-se de que a versão seja 2.2.1.
Em uma célula Python, importe Snowpark Python e Modin:
Crie uma sessão Snowpark:
Comece a usar a Snowpark Python API:
Dica
Para obter mais exemplos de como usar o pandas on Snowflake, consulte Introdução ao pandas on Snowflake.
Snowflake Python API em notebooks¶
A Snowflake Python API é uma biblioteca unificada que conecta perfeitamente o Python às cargas de trabalho do Snowflake. O objetivo é fornecer APIs abrangentes para interagir com os recursos do Snowflake em engenharia de dados, Snowpark, Snowpark ML e cargas de trabalho de aplicativos usando uma Python APIde primeira classe.
Você pode usar a Snowflake Python API para gerenciar recursos do Snowflake criando, excluindo ou modificando-os e muito mais. É possível usar Python para executar tarefas que você poderia executar com os comandos SQL do Snowflake.
No Notebooks, a variável do contexto de sessão é pré-configurada. Você pode usar o método get_active_session para obter a variável do contexto de sessão:
Crie um objeto Root a partir do qual você possa usar a Snowflake Python API:
Aqui está um exemplo de como você pode criar um banco de dados e um esquema usando a Python API:
Dica
Para obter um exemplo mais detalhado de como usar a API Python do Snowflake, consulte Exemplo de criação de objeto Snowflake usando a API Python em um notebook no Github.