【发布时间】:2019-09-30 06:24:10
【问题描述】:
我在 azure blob 存储中有 csv 文件,其中包含以下详细信息。
基于 TRUE / FALSE,我必须采用年/月并作为参数传递,以查找复制活动的源文件夹作为字符串 "Folder\Year\Month*.csv" 的一部分。
在循环中将这些参数作为源字符串传递,以收集文件夹中存在的文件并粘贴到我的目标文件夹中。
我想在循环中获取值以获取源字符串并作为变量传递。 我不需要使用新列“Foldercolumn”更新 csv 或根据所有记录创建新数据框。
+-------------+--------------+--------------------+-----------------+--------+
|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'")
获取每列的字符串 con 协调
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 中的另一个目标
【问题讨论】:
标签: scala apache-spark databricks azure-databricks