使用scala创建要素(长向量)

时间:2016-06-02 19:01:42

标签: scala vector apache-spark

我有一个大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))

0 个答案:

没有答案