如何从hdfs symlink读取多个文本文件

6ljaweal  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(460)

我正在尝试从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读取它的最佳方式是什么。我们创建符号链接的原因是将它指向最新的数据集。欢迎任何建议。谢谢

mfuanj7w

mfuanj7w1#

特定于mapr的解决方法。注意使用maprfilestatus而不是hadoop filestatus。 FileSystem fs = FileSystem.get(conf); MapRFileStatus fst = (MapRFileStatus)fs.getFileStatus(path); Path target = fst.getSymlink();

相关问题