如何通过编程方式设置Databricks widget的触发行为
Databricks Widget 触发行为编程修改说明
结论
可以通过编程方式修改「On Widget Change」的触发行为,无需仅通过设置菜单手动配置,完全可以实现widget值变更时不自动运行关联单元格的需求。
具体实现方式
- 针对单个widget创建时指定触发规则
创建任意类型widget时,新增runOnChange=False参数即可,示例如下(Python环境):
该参数支持所有widget类型(下拉选择、多选、文本输入等),设置后对应widget的界面配置会同步更新为不自动运行状态。# 创建文本输入widget,值变更时不自动触发关联单元格运行 dbutils.widgets.text("query_date", "2024-01-01", "查询日期", runOnChange=False) - 全局配置当前笔记本所有widget的默认触发规则
如果需要批量生效所有widget,可以在笔记本开头设置全局默认配置:
配置完成后,后续新建的所有widget默认都会继承spark.conf.set("spark.databricks.widgets.defaultRunOnChange", "false")runOnChange=False的规则,无需逐个单独配置。
补充说明
如果后续需要针对个别widget开启自动运行触发,仅需在创建时单独指定runOnChange=True即可,该参数优先级高于全局默认配置,不会影响其他widget的行为。
内容的提问来源于stack exchange,提问作者bessbd
相关产品推荐
相关产品推荐

