使用 SQL 在工作区中执行笔记本¶
Snowsight 支持笔记本的非交互式(无头)执行。这允许您触发笔记本的程序化运行,而无需打开 Snowsight,也不需要定期计划。
无头执行适用于任务、计划任务或由 Airflow、Prefect、Dagster、CI/CD 管道等工具或需要以编程方式执行笔记本的外部系统编排的工作流。
创建笔记本项目¶
如果笔记本项目尚不存在,请使用 CREATE NOTEBOOK PROJECT 命令创建一个:
CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
FROM 'snow://workspace/<workspace_path>'
COMMENT = 'Notebook project for this workflow';
要查找工作区路径,请执行以下操作:
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
选择工作区。
选择图钉图标。
复制位置(例如
snow://workspace/USER$.schema."workspacename"/versions/head)。
使用 SQL 执行笔记本¶
You can run a notebook from a worksheet, SQL file, or any SQL client using the EXECUTE NOTEBOOK PROJECT command:
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>');
示例¶
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');
查看执行情况¶
此命令使用存储在关联笔记本项目中的版本运行笔记本及其依赖项。要查看执行结果,请导航至 Snowsight 中相应数据库和架构下的笔记本项目。