scala代码通过使用小部件传递动态值来读取拼花地板文件

scala代码通过使用小部件传递动态值来读取拼花地板文件,scala,apache-spark,databricks,azure-databricks,Scala,Apache Spark,Databricks,Azure Databricks,我有像process/YYYY/MM/DD这样的文件夹结构,我需要编写一个Scala代码来读取这些文件,直到process/yyy,我使用小部件动态地传递月份和日期 我使用小部件动态传递mm和dd 代码 val ReadDf=spark.read.formatparquet.optionheader,true.loadmnt/pnt/process/YYYY您可以使用以下代码从小部件获取月份,然后创建加载路径: dbutils.widgets.text("Month", "1") val wi

我有像process/YYYY/MM/DD这样的文件夹结构,我需要编写一个Scala代码来读取这些文件,直到process/yyy,我使用小部件动态地传递月份和日期

我使用小部件动态传递mm和dd

代码
val ReadDf=spark.read.formatparquet.optionheader,true.loadmnt/pnt/process/YYYY

您可以使用以下代码从小部件获取月份,然后创建加载路径:

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
现在,如果您想通过小部件将参数传递给笔记本,您可以使用从另一个笔记本运行它。这是该链接中的一个示例:

dbutils.notebook.run("notebook-name", 60, {"argument": "data", "argument2": "data2", ...})

你能详细说明一下你的问题吗?问题出在哪里,出在哪里?示例路径如下:/mnt/pnt/process/yyyy=2020/mm=06/dd=01,其中mm是月dd是日期。目前,我正在阅读till/mnt/pnt/process/yyyy=2020,希望使用databricks小部件动态传递monthmm和datedd值。希望这有助于理解我的要求