Spark:从多个文件中对RDD进行排序,而不使用collect

时间:2015-04-13 13:10:06

标签: sorting apache-spark multiple-files collect

我已经"上传"来自单个RDD中某个目录的N个文件

val data = sc.textFile("file:///myPath/*.txt")

例如,我的2个文件各包含5行。

档案1

A
B
C
D
E

文件2

F
G
H
I
J

如果我在我的代码中添加sortBy:

val sortedData = data.sortBy(x => x)

我没有得到我的分类数据,只是随机的RDD:

J
B
C
E
A
D
G
F
H
I

收集可以帮助我,但

1)它不适合大型RDD

2)而不是RDD,它返回一个数组(我应该重新并行化)

提前致谢

FF

1 个答案:

答案 0 :(得分:1)

如果您有多个rdds,可以使用union方法:

val rdd = rdd1.union(rdd2)

这将聚合两个rdds然后你可以对那个新的rdd进行排序。

但在你的情况下,你可以将所有数据读入同一个rdd,然后对其进行排序。

编辑:

我已创建了包含file1和file2的2个文件,并且我已完成以下操作:

enter image description here