Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
SnowflakePublic PreviewImpacto: Alto

Execução de código Python, Spark e ML diretamente no Snowflake com Code Bundles

Empacote códigos em Python, Spark ou ML sem criar stored procedures e execute-os diretamente no compute do Snowflake com comandos simples.

O que mudou

Os Code Bundles (antigos Notebook Projects) permitem que você empacote códigos fora do SQL, como scripts em Python, e os execute diretamente no compute do Snowflake. O Snowflake injeta automaticamente uma sessão do Snowpark em tempo de execução, facilitando o acesso aos dados sem gerenciamento manual de credenciais.

Para que serve

Imagine que você tem scripts de ETL em Python ou aplicações de ML e quer rodá-los sem precisar empacotar tudo em containers complexos ou stored procedures.

  • Executar código Python em virtual warehouses ou compute pools.
  • Submeter jobs de Spark usando Snowpark Connect.
  • Rodar trabalhos de Machine Learning usando o Snowflake Container Runtime.

Como usar

Crie um arquivo de configuração code_bundle.yml na raiz do seu projeto definindo o tipo e o alvo de computação.

bundle:
  type: custom
  compute_type: warehouse
  language: python

  compute_options:
    runtime_version: '3.11'

  properties:
    requirements_file: requirements.txt

O que acontece nesse código:

  1. Define o tipo do bundle como custom para scripts Python.
  2. Configura a execução para rodar em um virtual warehouse.
  3. Especifica a versão do runtime Python 3.11.
  4. Aponta um arquivo de dependências para instalação automática.

Em seguida, crie e execute o bundle utilizando a CLI do Snowflake:

snow bundle create MY_BUNDLE --source ./meu_projeto --exclude "venv/**"
snow bundle execute MY_BUNDLE --entrypoint main.py

O que acontece nesse código:

  1. Cria um Code Bundle chamado MY_BUNDLE a partir do diretório local ignorando pastas de ambiente virtual.
  2. Envia e executa o script de entrada main.py diretamente no Snowflake.

Limitações e requisitos

  • O agendamento de notebooks em compute pools é GA (General Availability).
  • A execução em warehouses, submissão de jobs Spark, jobs de ML, overrides em linha e os clientes REST API, Python API e Snowflake CLI estão em Public Preview.
  • É necessário ter a permissão CREATE CODE BUNDLE na schema ou conta, além de privilégios de OWNERSHIP ou USAGE no objeto para executá-lo.
Ver nota oficial do Snowflake

Code Bundles (Preview)

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas