की तरह डेटा है: 2 स्तंभ से स्वयं की अनदेखी(तीखा) GroupBy foldLeft गुना में मान के अनुसार समूहबद्ध का उपयोग कर
pid, recommendations
1 2,3
2 1,4,5
अर्थ है, और बनाने: इसे बनाने के लिए
pid recom-pid
1 1
1 2
1 3
2 1
2 2
2 4
2 5
आवश्यकता एक अल्पविराम से अलग स्ट्रिंग में आराम करें। इसके टैब अलग डेटा
कोशिश की विविधताओं, लेकिन यकीन है कि 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;
}
}
}
}
में productId का उल्लेख करने के लिए कैसे तीखा 0.10.0 साथ स्केला 2.10 का उपयोग करना और 2.5.3 व्यापक नहीं। एक बदमाशी जवाब की आवश्यकता है। मुझे पता है कि स्कैला में डेटा का उपयोग कैसे करें। मैं बस सोच रहा हूं कि समूह के दौरान कॉलम को स्केलिंग में कैसे प्राप्त किया जाए और फ़िल्टर किए गए आउटपुट को प्राप्त करने के लिए सशर्त रूप से एक गुना बाएं या अन्य साधनों का उपयोग करें।
एक पूर्ण काम कर नमूने के लिए https://github.com/tgkprog/scaldingEx2/tree/master/Q1
क्यों filer का उपयोग नहीं आत्म जोड़े और आईडी से तो समूह को हटाने के लिए? – roterl
हां जो काम करता है, सिर्फ समूह को स्केल करने में कुछ चाहिए था, इसलिए उसी चरण में फ़िल्टर कर सकते हैं – tgkprog