是否可以在 databricks 中创建日历小部件?

gaw*_*gaw 8 widget databricks

我只是想使用日期作为笔记本的输入,并想使用小部件管理参数处理。databricks 小部件的标准文档 ( https://docs.databricks.com/user-guide/notebooks/widgets.html ) 不提供有关日历小部件的信息或创建新小部件类型的可能性。

他们只提供

  • 文本
  • 多选
  • 组合框
  • 落下

现在我为日、月和年创建不同的下拉小部件,但在我看来这不是一个好的解决方案。

有人在数据块中创建/修改小部件方面有过任何经验吗?

Dav*_*son 0

Databricks 小部件 API

虽然您无法创建自定义小部件,但您可以使用文本小部件传递标准日期格式,例如yyyy-mm-dd然后转换为日期时间/时间戳。

import pandas as pd 

# create the date widget
dbutils.widgets.text(name="date", defaultValue="2022-01-01")

# get the value of date widget
date = dbutils.widgets.get("date")

# convert to timestamp with a forced format
pd.to_datetime(date, format="%Y-%m-%d")
Run Code Online (Sandbox Code Playgroud)

ipywidgets

如果您不需要参数化笔记本,则可以在 Databricks 中使用ipywidgets(目前截至 2022 年 8 月处于公共预览版)。需要 Databricks 运行时 11.0 或更高版本。

import ipywidgets as widgets

# create widget
date_widget = widgets.DatePicker(
    description='Pick a Date',
    disabled=False
)

# display widget
date_widget

# get widget value
date_widget.value
Run Code Online (Sandbox Code Playgroud)