У меня есть файл csv в хранилище BLOB-объектов Azure, в котором содержатся подробности, приведенные ниже.
Исходя из значения ИСТИНА / ЛОЖЬ, я должен взять год / месяц и передать его в качестве параметра, чтобы найти исходную папку для операции копирования как часть. строки "Папка \ Год \ Месяц * .csv".
Передайте эти параметры в виде исходной строки в цикле, чтобы собрать файлы, присутствующие в папке, и вставить их в папку назначения.
Я ХОЧУ ПОЛУЧИТЬ значения в цикле, чтобы получить исходную строку и передать как переменную. Мне не нужно обновлять CSV с новым столбцом «Foldercolumn» или создавать новый фрейм данных на основе всех записей.
+-------------+--------------+--------------------+-----------------+--------+
|Calendar_year|Calendar_month|EDAP_Data_Load_Statu|lake_refined_date|isreload|
+-------------+--------------+--------------------+-----------------+--------+
| 2018| 12| HIST| 20190829| FALSE|
| 2019| 1| HIST| 20190829| FALSE|
| 2019| 2| HIST| 20190829| FALSE|
| 2019| 3| HIST| 20190829| TRUE|
| 2019| 4| HIST| 20190829| FALSE|
| 2019| 5| HIST| 20190829| TRUE|
| 2019| 11| HIST| 20190829| FALSE|
+-------------+--------------+--------------------+-----------------+--------+
Ниже приведен мой искровой код для вышеуказанного требования
val destinationContainerPath= "Finance/Data"
val dfCSVLogs = readCSV(s"$destinationContainerPath/sourcecsv.csv")
val dfTRUEcsv = dfCSVLogs.select(dfCSVLogs.col("*")).filter("isreload =='TRUE'")
получить согласованную строку для каждого столбца
IF isreload =='TRUE'
strFoldercolumn Calendar_month
strFoldercolumn = 2019/03
strFoldercolumn = 2019/05
end if
this is by default get the max value and get the parameter of max value
var Foldercolumn max(Calendar_year ),max(Calendar_month )
strFoldercolumn = 2019/11
я должен выполнить цикл для каждогоstrFoldercolumn и собирать данные из файла и вставлять их в другое место назначения в BLOB-хранилище