You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Databricks中实现datepicker日期选择器组件?

Databricks 原生 dbutils.widgets 暂未内置 datepicker 类型的组件,你可以通过以下两种常用方案实现可视化日期选择功能:

方案1:基于原生dropdown组件实现(推荐绝大多数场景使用)

适合日期选择范围不大的场景(如最近30/90/365天),完全基于官方原生组件,实现成本低,稳定性高。
实现代码示例:

import datetime
from datetime import timedelta

# 自定义需要展示的日期范围,这里示例生成最近90天的日期
date_range = [(datetime.date.today() - timedelta(days=i)).strftime("%Y-%m-%d") for i in range(90)]
# 按时间倒序排列,最新日期排在最前
date_range.sort(reverse=True)

# 创建下拉日期选择组件
dbutils.widgets.dropdown("selected_date", date_range[0], date_range, "选择查询日期")

# 读取选中的日期
use_date = dbutils.widgets.get("selected_date")
  • 优点:无额外依赖,兼容调度作业、交互式查询所有场景
  • 缺点:如果日期选择跨度超过1年,下拉选项会过长,体验下降

方案2:自定义HTML组件实现全功能日历选择器

适合需要自由选择任意跨度日期的交互式查询场景,调用原生HTML的datepicker组件实现可视化日历交互。
实现代码示例:

import IPython

# 渲染日期选择器,选中后自动同步值到Python变量
displayHTML("""
<div style="padding: 8px 0;">
  <label>选择查询日期:</label>
  <input type="date" id="custom_datepicker" style="padding: 6px; font-size: 14px;">
</div>
<script>
const picker = document.getElementById('custom_datepicker');
picker.addEventListener('change', () => {
  // 将选中的日期赋值到Python上下文的selected_date变量
  IPython.notebook.kernel.execute(`selected_date = '${picker.value}'`);
  console.log('已选中日期:', picker.value);
});
</script>
""")
  • 优点:完整的日历点击选择体验,支持任意日期选择
  • 缺点:仅适合交互式场景,需要先运行当前代码块选择日期后,再运行后续依赖selected_date变量的代码

补充说明:如果是在Databricks SQL看板中使用,官方原生提供了可直接拖拽配置的日期范围选择器控件,无需额外开发。

内容的提问来源于stack exchange,提问作者Deb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:12:03