【问题标题】:Reading JSON files from Hadoop with Spark使用 Spark 从 Hadoop 读取 JSON 文件
【发布时间】:2016-04-29 11:52:06
【问题描述】:

我在树中的一些 HDFS 目录中有几个 JSON 文件(以 .gz 格式压缩),例如:

/master/dir1/file1.gz
       /dir2/file2.gz
       /dir3/file3.gz
       ...

我需要从路径 /master/ 中读取这些文件,并将它们加入到带有 Java 中 Spark 的 RDD 中。我该怎么办?

【问题讨论】:

    标签: java json hadoop apache-spark


    【解决方案1】:

    [编辑] 如果

    JavaRDD<String> textFile = sc.textFile("hdfs://master/dir*/file*");
    

    不行,另一种方法是列出文件并联合

    fileSystem.listStatus(new Path("hdfs://master/dir*"))
      .filter(d -> d.isDirectory())
      .map(p -> sc.textFile(p.getPath()))
      .reduce((a, b) -> a.unionAll(b))
    

    【讨论】:

    • 它不起作用,因为在 Spark 中,Hadoop 不会递归遍历目录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2017-03-09
    • 1970-01-01
    • 2021-12-07
    • 2017-03-05
    • 1970-01-01
    • 2016-08-18
    相关资源
    最近更新 更多