我正在尝试从spark读取hdfs symlink的多个部分文件。如果路径是物理路径,我可以使用通配符()从路径中读取多个文件。 sparkContext.textFile(/some/path/file_123321_00/part-r-000*)
但我已经在hdfs上创建了一个名为“fullset”的指向这个文件夹的符号链接。当我使用
/some/path/fullset/part-r-000无法检测任何路径。我试过了 hadoop fs -ls
在两条路上。第一个可以工作,但是一个有符号链接的不能按预期工作。
我们正在使用mapr发行版,它允许我们创建这样的符号链接,但我现在不知道从spark读取它的最佳方式是什么。我们创建符号链接的原因是将它指向最新的数据集。欢迎任何建议。谢谢
1条答案
按热度按时间mfuanj7w1#
特定于mapr的解决方法。注意使用maprfilestatus而不是hadoop filestatus。
FileSystem fs = FileSystem.get(conf); MapRFileStatus fst = (MapRFileStatus)fs.getFileStatus(path); Path target = fst.getSymlink();