0

Spark의 mllib 라이브러리 안에있는 word2vec 함수를 사용하고 있습니다. 내가 출력으로 얻고있다 단어 벡터를 인쇄 할 "getVectors"기능 내 코드는 다음과 같습니다에 :지도 [String, Array [Float]]을 (를) 스칼라로 인쇄하는 방법?

import org.apache.spark._ 

import org.apache.spark.rdd._ 
import org.apache.spark.SparkContext._ 
import org.apache.spark.mllib.feature.{Word2Vec, Word2VecModel} 

object word2vec { 
    def main(args: Array[String]) { 
    val conf = new SparkConf().setAppName("word2vec") 
    val sc = new SparkContext(conf) 
    val input = sc.textFile("file:///home/snap-01/balance.csv").map(line => line.split(",").toSeq) 
    val word2vec = new Word2Vec() 
    val model = word2vec.fit(input) 
    model.save(sc, "myModelPath") 
    val sameModel = Word2VecModel.load(sc, "myModelPath") 
    val vec = sameModel.getVectors 
    print(vec) 
    } 
} 

내가 얻고있다 "지도 (균형 -> [F의 @의 2932e15f)"

답변

2

이 시도 : 또는

vec.foreach { case (key, values) => println("key " + key + " - " + values.mkString("-") 
} 
+0

감사합니다. 나를 위해 일했습니다. – Aditi

1

,

println(vec.mapValues(_.toList)) 

하지만 그렇게하는 데 필요한 메모리를 주시하십시오.

+0

감사합니다. 나를 위해 일했습니다. :) – Aditi