我具有诸如process / YYYY / MM / DD之类的文件夹结构,我需要编写一个Scala代码来读取这些文件,直到process / YYYY,然后我使用小部件动态传递月份和日期。
我使用小部件动态传递mm和dd
代码 val ReadDf = spark.read.format(“ parquet”)。option(“ header”,“ true”)。load(“” mnt / pnt / process / YYYY“)
答案 0 :(得分:1)
您可以使用以下代码从小部件中获取月份,然后创建要加载的路径:
dbutils.widgets.text("Month", "1")
val widget_month = dbutils.widgets.get("Month").toInt
val path_month = "%02d".format(widget_month)
val pathToReadFrom = s"/mnt/pnt/process/yyyy=2020/mm=${path_month}"
Databricks输出显示:
widget_month: Int = 1
path_month: String = 01
pathToReadFrom: String = /mnt/pnt/process/yyyy=2020/mm=01
现在,如果要通过小部件将参数传递到笔记本,则可以使用Notebook workflows从另一个笔记本运行它。这是该链接的示例:
dbutils.notebook.run("notebook-name", 60, {"argument": "data", "argument2": "data2", ...})