[
https://issues.apache.org/jira/browse/MAHOUT-1615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14147379#comment-14147379
]
ASF GitHub Bot commented on MAHOUT-1615:
----------------------------------------
Github user dlyubimov commented on a diff in the pull request:
https://github.com/apache/mahout/pull/52#discussion_r18014952
--- Diff:
spark/src/main/scala/org/apache/mahout/sparkbindings/SparkEngine.scala ---
@@ -162,9 +174,12 @@ object SparkEngine extends DistributedEngine {
{
implicit def getWritable(x: Any): Writable = val2keyFunc()
- val drmRdd = rdd.map { t => (key2valFunc(t._1), t._2)}
+ val rdd = sc.sequenceFile(path, classOf[Writable],
classOf[VectorWritable], minPartitions = parMin)
+
+ val drmRdd = rdd.map { t => val2keyFunc(t._1) -> t._2.get()}
- drmWrap(rdd = drmRdd, cacheHint =
CacheHint.MEMORY_ONLY)(unwrappedKeyTag.asInstanceOf[ClassTag[Any]])
+// drmWrap(rdd = drmRdd, cacheHint =
CacheHint.MEMORY_ONLY)(unwrappedKeyTag.asInstanceOf[ClassTag[Writable]])
+ drmWrap(rdd = drmRdd, cacheHint =
CacheHint.MEMORY_ONLY)(unwrappedKeyTag.asInstanceOf[ClassTag[Object]])
}
--- End diff --
While we at this, we probably should use cacheHint 'NONE' here. Spark
automatically disables HadoopRDD's caching anyway.
> SparkEngine drmFromHDFS returning the same Key for all Key,Vec Pairs for
> Text-Keyed SequenceFiles
> -------------------------------------------------------------------------------------------------
>
> Key: MAHOUT-1615
> URL: https://issues.apache.org/jira/browse/MAHOUT-1615
> Project: Mahout
> Issue Type: Bug
> Reporter: Andrew Palumbo
> Fix For: 1.0
>
>
> When reading in seq2sparse output from HDFS in the spark-shell of form
> <Text,VectorWriteable> SparkEngine's drmFromHDFS method is creating rdds
> with the same Key for all Pairs:
> {code}
> mahout> val drmTFIDF= drmFromHDFS( path =
> "/tmp/mahout-work-andy/20news-test-vectors/part-r-00000")
> {code}
> Has keys:
> {...}
> key: /talk.religion.misc/84570
> key: /talk.religion.misc/84570
> key: /talk.religion.misc/84570
> {...}
> for the entire set. This is the last Key in the set.
> The problem can be traced to the first line of drmFromHDFS(...) in
> SparkEngine.scala:
> {code}
> val rdd = sc.sequenceFile(path, classOf[Writable], classOf[VectorWritable],
> minPartitions = parMin)
> // Get rid of VectorWritable
> .map(t => (t._1, t._2.get()))
> {code}
> which gives the same key for all t._1.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)