有像數據:(燙)GROUPBY foldLeft使用組由值在摺疊
pid recom-pid
1 1
1 2
1 3
2 1
2 2
2 4
2 5
需要使它:
pid, recommendations
1 2,3
2 1,4,5
含義忽略來自第二柱自,和使以逗號分隔的字符串休息。它的製表符分隔數據
試過的變化,但不知道如何引用的productId在foldLeft
.groupBy('productId) {
_.foldLeft(('prodReco) -> 'prodsR)("") {
(s: String, s2: String) =>
{
println(" s " + s + ", s2 :" + s2 + "; pid :" + productId + ".")
if (productId.equals(s2)) {
s
} else {
s + "," + s2;
}
}
}
}
使用Scala的2.10燙傷0.10.0和級聯2.5.3。需要一個燙傷答案。我知道如何操作scala中的數據。我只是想知道如何在羣組中通過燙傷來獲得列,並使用它們有條件地執行摺疊操作或使用其他方法來獲得過濾輸出。
對於一個完整的工作示例見https://github.com/tgkprog/scaldingEx2/tree/master/Q1
爲什麼不使用文件管理器刪除自對,然後組由ID? – roterl
是的工作,只是想在燙傷groupBy所以可以在同一階段過濾 – tgkprog