Имейте такие данные, как:
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
Это означает игнорировать себя из 2-го столбца и вводить остальные в строку, разделенную запятыми. Его данные, разделенные табуляцией
Пробовал варианты, но не уверен, как ссылаться на 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 с scalding 0.10.0 и cascading 2.5.3. Нужен обжигающий ответ. Я знаю, как манипулировать данными в scala. Мне просто интересно, как получить столбцы во время группы с помощью ошпаривания и использовать их для условного сгиба влево или других средств для получения отфильтрованного вывода.
Полный рабочий пример см. на странице https://github.com/tgkprog/scaldingEx2/tree/master/Q1