【发布时间】:2019-09-27 13:07:13
【问题描述】:
我想将 csv 文件读入 dfTRUEcsv
如何在下面获取值 (03,05) 和 11 作为字符串,例如 我想将这些字符串作为参数传递以从该文件夹中获取文件
i will pass (03,05) and 11 as parameters
if TRUE , for each Loop start Folder\03 ;
Folder\05 ;
Folder\11
+-------------+--------------+--------------------+-----------------+--------+
|Calendar_year|Calendar_month|EDAP_Data_Load_Statu|lake_refined_date|isreload|
+-------------+--------------+--------------------+-----------------+--------+
| 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|
+-------------+--------------+--------------------+-----------------+--------+
if the file has column isreload =='TRUE'
var Foldercolumn Calendar_month
Foldercolumn = 03
Foldercolumn = 05
else
var Foldercolumn max(Calendar_year ),max(Calendar_month )
Foldercolumn = 11
end if
下面是我满足上述要求的火花代码
val destinationContainerPath= "Finance/Data"
val dfCSVLogs = readCSV(s"$destinationContainerPath/sourcecsv.csv")
val dfTRUEcsv = dfCSVLogs.select(dfCSVLogs.col("*")).filter("isreload =='TRUE'")
【问题讨论】:
-
你能用文字解释你想要什么行为吗?
-
您能否提供预期的输出数据帧
-
我需要循环数据帧并在列中找到 TRUE 值,并在此基础上采取行动。如果为真“做其他事情”什么都不做——代码应该在 scala 中。
标签: apache-spark apache-spark-sql databricks azure-databricks