小编man*_*jam的帖子

Spark Group By Key(Key,List)Pair

我试图按键将一些数据分组,其中值为列表:

样本数据:

A 1
A 2
B 1
B 2
Run Code Online (Sandbox Code Playgroud)

预期结果:

(A,(1,2))
(B,(1,2))
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码执行此操作:

data.groupByKey().mapValues(List(_))
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试执行如下的Map操作时:

groupedData.map((k,v) => (k,v(0))) 
Run Code Online (Sandbox Code Playgroud)

它告诉我我的参数数量是错误的.

如果我尝试:

groupedData.map(s => (s(0),s(1)))
Run Code Online (Sandbox Code Playgroud)

它告诉我"(Any,List(Iterable(Any))不带参数"

不知道我做错了什么.我的分组错了吗?什么是更好的方法来做到这一点?

斯卡拉只是请回答.谢谢!!

scala apache-spark

11
推荐指数
2
解决办法
2万
查看次数

在 PySpark 中将密集向量转换为稀疏向量

是否有内置的方法可以从 PySpark 中的密集向量创建稀疏向量?我这样做的方式如下:

Vectors.sparse(len(denseVector), [(i,j) for i,j in enumerate(denseVector)  if j != 0 ])
Run Code Online (Sandbox Code Playgroud)

这满足 [size, (index, data)] 格式。似乎有点hacky。有没有更有效的方法来做到这一点?

pyspark

1
推荐指数
1
解决办法
2978
查看次数

标签 统计

apache-spark ×1

pyspark ×1

scala ×1