所以我在Spark中有这个数据框:
DF:
index value
1 2.0
3 2.5
4 2.3
6 2.4
7 2.6
15 2.1
16 2.4
17 2.3
18 2.6
20 2.9
...
我想将附近索引的记录组合在一起。像这样:
df_grouped:
index value group
1 2.0 1
3 2.5 1
4 2.3 1
6 2.4 1
7 2.6 1
15 2.1 2
16 2.4 2
17 2.3 2
18 2.6 2
20 2.9 2
...
并且可能将每个组分成不同的文件。
df_group_1
index value
1 2.0
3 2.5
4 2.3
6 2.4
7 2.6
df_group_2
index value
15 2.1
16 2.4
17 2.3
18 2.6
20 2.9
数据分为多个文件,每个文件88MB,文件超过700个,总大小约为68GB。打算成为一个组的行可能存在于多个文件中,即文件#1-10可能都有附近的索引,并且索引开始在文件#11中跳转以指示新组。
有没有办法在Spark with Scala中做到这一点?
我一直在研究K-means聚类方法,但是如果我没弄错的话,它需要从头开始指定聚类的数量。在这个数据框架中,我们不知道我们将拥有多少个集群。
我的Spark版本是2.1.0