【发布时间】:2019-11-03 18:38:01
【问题描述】:
我正在编写一个 Scala Spark 脚本,其中我将(Hive 分区)HDFS 路径存储为键,并将它们的基础文件计为值。我想编写一个 for 循环来检查文件路径是否存在(使用键)并且计数是否大于 0。我必须反转整个映射,因为我想开始检查最新的分区。
我找不到任何方法来反转地图并循环遍历它。 这是我的代码:
val paths = collection.mutable.Map[String, Float]()
status.foreach( x => paths += (x.getPath.toString -> fs.getContentSummary(new Path(x.getPath.toString).getFileCount() )
这是我打算做的:
//Reverse the map to make last element as first element
var result = ""
for ((k,v) <- paths) {
if(!fs.exists(new Path(k)) && v < 1)
continue
else
result = k
break
}
【问题讨论】:
标签: scala apache-spark dictionary collections hdfs