我试图按键将一些数据分组,其中值为列表:
样本数据:
A 1 A 2 B 1 B 2
预期结果:
(A,(1,2)) (B,(1,2))
我可以使用以下代码执行此操作:
data.groupByKey().mapValues(List(_))
问题是当我尝试执行如下的Map操作时:
groupedData.map((k,v) => (k,v(0)))
它告诉我我的参数数量是错误的.
如果我尝试:
groupedData.map(s => (s(0),s(1)))
它告诉我"(Any,List(Iterable(Any))不带参数"
不知道我做错了什么.我的分组错了吗?什么是更好的方法来做到这一点?
斯卡拉只是请回答.谢谢!!
你快到了.只需更换List(_)
与_.toList
data.groupByKey.mapValues(_.toList)