【问题标题】:How to read multiple text files from hdfs symlink如何从 hdfs 符号链接读取多个文本文件
【发布时间】:2015-04-03 06:38:22
【问题描述】:

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

【问题讨论】:

  • Nirav,你能在这里发布你的解决方法吗?

标签: hadoop apache-spark hdfs symlink mapr


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2019-08-22
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    相关资源
    最近更新 更多