Apache spark 如何导入日常文件并在数据库中运行它们?

Apache spark 如何导入日常文件并在数据库中运行它们?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我在Azure data lake中创建了名为“0\u 2020\u 01\u 21\u 20\u 02\u 44.avro”的日常文件。唯一更改的是日期和时间,我希望使用日期变量和通配符读取文件,时间为小时、分钟和秒,我尝试了以下代码,但出现了一个错误 val pfdtm = ZonedDateTime.now(ZoneOffset.UTC).minusDays(2) val fileDate =DateTimeFormatter.ofPattern("yyyy_MM_dd").form

我在Azure data lake中创建了名为“
0\u 2020\u 01\u 21\u 20\u 02\u 44.avro
”的日常文件。唯一更改的是日期和时间,我希望使用日期变量和通配符读取文件,时间为小时、分钟和秒,我尝试了以下代码,但出现了一个错误

val pfdtm = ZonedDateTime.now(ZoneOffset.UTC).minusDays(2)   
val fileDate =DateTimeFormatter.ofPattern("yyyy_MM_dd").format(pfdtm)

pfdtm: java.time.ZonedDateTime = 2020-02-21T19:48:57.763Z
fileDate: String = 2020_02_21 



 val df=spark.read.format("com.databricks.spark.avro").
load("adl://powerb.azuredatalakestore.net/SD/eventhubspace/eventhub/0_${fileDate}_*_*_*.avro")

如果出现错误,则路径不存在。我正在使用spark 2.4.3,如有任何帮助,将不胜感激。

我认为您缺少
${fileDate}
的字符串插值。load
导致变量值无法传递

要修复此问题,请添加
.load(“)
,而不是
.load(“”)

val df=spark.read.format("com.databricks.spark.avro").
load(s"adl://powerb.azuredatalakestore.net/SD/eventhubspace/eventhub/0_${fileDate}_*_*_*.avro")

非常感谢,这让我头疼了好几个星期。或者你可以使用字符串格式。负载(“adl://...... %s、 ……格式(文件日期))