如何更有效地从spark重命名hdfs中的文件?

2024-03-18

我有 450K JSON,我想根据某些规则在 hdfs 中重命名它们。为了简单起见,我只添加一个后缀.finished给他们每个人。 A 成功地做到了这一点,代码如下:

import org.apache.hadoop.fs._

val hdfs = FileSystem.get(sc.hadoopConfiguration)
val files = hdfs.listStatus(new Path(pathToJson))
val originalPath = files.map(_.getPath())

for(i <- originalPath.indices)
{
   hdfs.rename(originalPath(i), originalPath(i).suffix(".finished"))
}

但全部重命名需要 12 分钟。有没有办法让它更快? (也许并行) 我使用火花1.6.0。


原始路径.par.foreach( e => hdfs.rename(e,e.suffix("完成")))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更有效地从spark重命名hdfs中的文件? 的相关文章

随机推荐