Я читаю все один за другим файлы, которые хранятся в структуре каталогов как YY=18/MM=12/DD=10
и должны только для чтения current date minus 60 days
.Файлы будут создаваться для каждого дня, а также возможно, что когда-нибудь файлы не будут создаваться.Итак, на этот день папка не будет создана.
Я читаю все файлы, которые хранятся в структуре каталогов как YY/MM/DD
.Я пишу код ниже, но он не работает.
var datecalculate = {
var days = 0
do{
val start = DateTime.now
var start1 = DateTime.now.minusDays(days)
days = days + 1
var start2 = start1.toString
datecalculatenow(start2) }
while (days <= 90)
}
def datecalculatenow(start2:String):String={
var YY:String = start2.toString.substring(0,4)
var MM:String = start2.toString.substring(5,7)
var DD:String = start2.toString.substring(8,10)
var datepath = "YYYY=" + YY +"/MM=" +MM +"/DD=" +DD
var datepath1 = datepath.toString
org.apache.spark.sql.SparkSession.read.option("delimiter","|").
option("header","true").option("inferSchema","true").
csv("/Table/Files" + datepath1 )
}
Я ожидаю прочитать все файлы с текущей даты минус 60 дней, структура каталогов которых равна YY/MM/DD