我想从 hdfs 位置读取一堆文本文件,并使用 spark 在迭代中对其执行映射。
JavaRDD<String> records = ctx.textFile(args[1], 1);一次只能读取一个文件。
JavaRDD<String> records = ctx.textFile(args[1], 1);
我想读取多个文件并将它们作为单个 RDD 处理。如何?
您可以指定整个目录、使用通配符甚至 CSV 的目录和通配符。例如:
sc.textFile("/my/dir1,/my/paths/part-00[0-5]*,/another/dir,/a/specific/file")
正如 Nick Chammas 指出的那样,这是 Hadoop 的曝光,FileInputFormat因此这也适用于 Hadoop(和 Scalding)。
FileInputFormat