1

我已经从单个 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,它返回一个数组(我应该重新并行化)

提前致谢

法郎

4

1 回答 1

1

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

val rdd = rdd1.union(rdd2)

这将聚合两个 rdd,然后您可以对该新 rdd 进行排序。

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

编辑:

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

在此处输入图像描述

于 2015-04-13T15:19:30.043 回答