Apache spark 如何导入日常文件并在数据库中运行它们?
我在Azure data lake中创建了名为“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
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、 ……格式(文件日期))