Python Databricks小部件
我的问题是关于在databrick中传递参数的小部件。我在一个笔记本中使用小部件来设置参数。然后,我从其他笔记本上运行这个初始笔记本。我想把选择的参数拉进去。 例如,在笔记本1中,我有: dbutils.widgets.dropdown(“起始年”、“2011年”[str(x)表示范围内的x(2008年、2021年)],“最早年份”) start\u year=dbutils.widgets.get(“start\u year”) 打印(“起始年是”+dbutils.widgets.get(“起始年”)) 打印语句正确打印用户选择的任何年份 在使用%run运行Notebook 1的Notebook 2中,无论选择什么,它都只打印默认年份,在本例中为2011年。我做错了什么?谢谢 (一直在底部): 如果运行包含小部件的笔记本,则指定的笔记本将使用小部件的默认值运行。您还可以将值传递给小部件。例如:Python Databricks小部件,python,widget,databricks,Python,Widget,Databricks,我的问题是关于在databrick中传递参数的小部件。我在一个笔记本中使用小部件来设置参数。然后,我从其他笔记本上运行这个初始笔记本。我想把选择的参数拉进去。 例如,在笔记本1中,我有: dbutils.widgets.dropdown(“起始年”、“2011年”[str(x)表示范围内的x(2008年、2021年)],“最早年份”) start\u year=dbutils.widgets.get(“start\u year”) 打印(“起始年是”+dbutils.widgets.get(“起
%run/path/to/notebook$X=“10”$Y=“1”
您是否考虑过将“notebook 1”设置为以dbfs而不是变量的形式存储值(至少是暂时存储)?然后您可以检索“笔记本1”中设置的任何内容。
i、 e.假设用户必须访问并设置笔记本1中的参数
笔记本1
start_year=dbutils.widgets.get("start_year")
myTmpTxt = "The start_year is " + dbutils.widgets.get("start_year")
print(myTmpTxt)
with open('/dbfs/mnt/tmp/tmpStoreYear.txt', 'w') as savedYear:
savedYear.write(myTmpTxt)
笔记本2
openQuery = open('/dbfs/mnt/tmp/tmpStoreYear.txt', 'rb')
openQuery.read()
另外,还有一个选项可以使用dbutils.notebook.run
()
但是,它仍然作为一个单独的作业运行,并且这些值不会导入到“notebook 2”中
希望这有帮助