@@ -149,7 +149,8 @@ class PrefixSpan private (
149
149
}
150
150
151
151
// Process the small projected databases locally
152
- val remainingResults = getPatternsInLocal(minCount, pairsForLocal.groupByKey())
152
+ val remainingResults = getPatternsInLocal(
153
+ minCount, sc.parallelize(pairsForLocal, 1 ).groupByKey())
153
154
154
155
(sc.parallelize(resultsAccumulator, 1 ) ++ remainingResults)
155
156
.map { case (pattern, count) => (pattern.toArray, count) }
@@ -163,7 +164,7 @@ class PrefixSpan private (
163
164
* greater than [[maxLocalProjDBSize ]]
164
165
*/
165
166
private def partitionByProjDBSize (prefixSuffixPairs : RDD [(List [Int ], Array [Int ])])
166
- : (RDD [(List [Int ], Array [Int ])], RDD [(List [Int ], Array [Int ])]) = {
167
+ : (Array [(List [Int ], Array [Int ])], RDD [(List [Int ], Array [Int ])]) = {
167
168
val prefixToSuffixSize = prefixSuffixPairs
168
169
.aggregateByKey(0 )(
169
170
seqOp = { case (count, suffix) => count + suffix.length },
@@ -175,7 +176,7 @@ class PrefixSpan private (
175
176
.toSet
176
177
val small = prefixSuffixPairs.filter { case (prefix, _) => smallPrefixes.contains(prefix) }
177
178
val large = prefixSuffixPairs.filter { case (prefix, _) => ! smallPrefixes.contains(prefix) }
178
- (small, large)
179
+ (small.collect() , large)
179
180
}
180
181
181
182
/**
0 commit comments