java - 使用Spark从Hadoop读取JSON文件

标签 java json hadoop apache-spark

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

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

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

最佳答案

[编辑]
如果

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))

关于java - 使用Spark从Hadoop读取JSON文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937682/

相关文章:

java - Spring @Value 不加载属性

java - 在 java.util.Date 类型中插入特殊字符

javascript - Typeahead 并未显示 json 中的所有项目

javascript - 如何在 Ajax 期间迭代嵌套 JSON?

hadoop - Gradle 用 logback 替换传递依赖 log4j

java - 在hadoop java中解析json输入

java - 如何设置从jsp到Action的HashMap

java - JSP中HTML输出的问题

php - 使用 AJAX 返回 JSON 对象失败

hadoop - Hive 无法从 hdfs 读取十进制值