【发布时间】:2019-05-30 14:40:08
【问题描述】:
我必须在 List 上使用 foldByKey 来查找每件商品的最高价格。 我使用的数据是:
val itemPrice= List(("Soap",10),("Toaster",200),("Tshirt",400),("Tshirt",1000),("Suits",8000),("Suits",17000),("Soap",100))
当我试图将列表拆分为单独的小项目时,它给出了错误:
error: value split is not a member of (String, Int)
我想将列表拆分为单独的小列表,然后像这样应用 foldbykey
val a = itemPrice.map(st =>st.split(",")).foldByKey(("dummy",0.0))((acc,element)=> if (acc._2>element._2) acc else element)
请帮我找到解决方法。 代码审查和更正会很有帮助。
【问题讨论】:
-
请格式化您的代码并提供预期的输出。请参考How to Ask & MCVE。
-
如果你想创建一个列表列表,你要做的是
st.map(List(_))。您只能在字符串上使用split。 -
问题 1:
("Soap",10)是一个元组,而不是一个字符串。
标签: scala apache-spark rdd