Executando notebooks no Workspaces com SQL¶
O Snowsight oferece suporte à execução não interativa (headless) de notebooks. Isso permite acionar uma execução programática de um notebook sem abrir o Snowsight e nem exigir um cronograma recorrente.
A execução headless é destinada a tarefas, tarefas agendadas ou fluxos de trabalho orquestrados por ferramentas como Airflow, Prefect, Dagster, pipelines de CI/CD ou sistemas externos que precisam executar um notebook programaticamente.
Criar um projeto de notebook¶
Se um projeto de notebook ainda não existir, crie um usando o comando CREATE NOTEBOOK PROJECT:
CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
FROM 'snow://workspace/<workspace_path>'
COMMENT = 'Notebook project for this workflow';
Para encontrar o caminho do espaço de trabalho:
Faça login no Snowsight.
No menu de navegação, selecione Projects » Workspaces.
Selecione o espaço de trabalho.
Selecione o ícone de alfinete.
Copie o local (por exemplo,
snow://workspace/USER$.schema."workspacename"/versions/head).
Executar um notebook usando SQL¶
Você pode executar um notebook de uma planilha, um arquivo SQL ou qualquer SQL usando o comando EXECUTE NOTEBOOK PROJECT:
EXECUTE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
MAIN_FILE = '<notebook_file_name>.ipynb'
COMPUTE_POOL = '<compute_pool_name>'
RUNTIME = '<runtime_version>' -- e.g., 'V2.2-CPU-PY3.12'
QUERY_WAREHOUSE = '<warehouse_name>'
EXTERNAL_ACCESS_INTEGRATIONS = ('<integration_name>');
Exemplo¶
EXECUTE NOTEBOOK PROJECT "sales_detection_db"."schema"."DEFAULT_PROJ_B32BCFD4"
COMPUTE_POOL = "test_X_CPU"
MAIN_FILE = 'notebook_file.ipynb'
RUNTIME = 'V2.2-CPU-PY3.10'
QUERY_WAREHOUSE = "ENG_INFRA_WH"
EXTERNAL_ACCESS_INTEGRATIONS = ('test_EAI');
Visualizando execuções¶
Este comando executa o notebook e suas dependências usando a versão armazenada no projeto de notebook associado. Para visualizar os resultados da execução, navegue até o projeto de notebook no banco de dados e no esquema correspondentes no Snowsight.