1

我正在尝试从 spark 读取 hdfs 符号链接的多个部分文件。如果路径是物理的,我可以使用通配符(*)从路径读取多个文件,例如 sparkContext.textFile(/some/path/file_123321_00/part-r-000*)

但是我已经在 hdfs 上创建了指向这个文件夹的符号链接,称为“fullset”。当我使用
/some/path/ fullset /part-r-000* 时,它无法检测到任何路径。我尝试hadoop fs -ls了两条路径。第一个有效,但带有符号链接的一个不能按预期工作。
我们正在使用 MapR 发行版,它允许我们创建这样的符号链接,但我现在不确定从 Spark 中读取它的最佳方式是什么。我们创建符号链接的原因是将其指向最新的数据集。欢迎任何建议。谢谢

4

1 回答 1

0

MapR 特定的解决方法。注意使用 MapRFileStatus 而不是 hadoop FileStatus。

FileSystem fs = FileSystem.get(conf); MapRFileStatus fst = (MapRFileStatus)fs.getFileStatus(path); Path target = fst.getSymlink();

于 2015-04-02T22:38:22.417 回答