scala - 如何在 Scala Spark 中反向映射和循环键和值
问题描述
我正在编写一个 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
}
解决方案
推荐阅读
- typescript - “?” 在 typeScript 中声明变量
- c++ - 通过 DirectShow 播放 FLAC
- android - 我可以将手机用作带有 Windows 10 登录选项的 webauthn 安全密钥吗
- reactjs - 如何在反应js中处理CheckBox上的onClick事件
- linux - 如何使用 GitHub Actions 运行持久化进程?
- sql - 从数据库中查询序列化的 ACF 字段经纬度
- python - 按值排序然后按键在多次运行时返回不同的结果?
- laravel - Laravel 雄辩的我如何从查询中排除计算附加字段?
- python - 在后台使用带有 tf 的 keras 对混合数据类型执行分类嵌入后,我得到 InvalidArgumentError
- html - 如何使用jQuery将活动类添加到导航列表中的div