我有一个大CSV
个文件(~2GB),其中包含一个参数X,每天有大约1000条记录。
我想要做的是将此列转换为长度为1000的集合特征(向量)(每天一个)。
例如:
==> Day 1 Day P1
1 1
1 2
1 5
1 9
1 .
1 .
1 .
1 6
==> Day 2 1 4
2 1
2 2
2 5
2 7
2 .
2 .
2 .
2 8
将转变为:
d1 1 2 5 9 . . . 6
d2 4 1 2 5 . . . 8
.
.
.
dn
我如何在Scala
中执行此操作?
我知道内存会出现问题,我会尝试将结果存储在多个步骤中。
以下是我迄今为止所做的尝试:
df_data.map(x => (x(1),x(3))).filter(x=> x._1== 1).zipWithIndex.map(x=> (x._1._1,(x._2,x._1._2))).groupByKey()
现在我得到类似的东西:
(1, (0,val1),(1,val2),(2,val3),...,(n,valn))