2017-11-15 2 views
0

Spark params.scalaには、DoubleParam,IntParam,FloatParamなどの定義があります。開発者がこれらのクラスを定義する理由を知りたいのですが?spark mllibがDoubleParam、IntParam、FloatParamなどを定義するのはなぜですか?

+0

は、ここを参照してください、それはあなたを助けている場合、その答えを受け入れる考えてみましょう詳細は:(Array[Array[Double]]のために)ここで見ることができるように、これらは、Javaクラスを使用しhttps://meta.stackexchange.com/questions/5234/答えを受け入れる方法 – Shaido

答えて

0

param.scalaファイルに見られるように、Paramは、Sparkが使用するクラスです。

...プリミティブ型のパラメータの必要性がJavaユーザーにとってより親切であることを説明するコードには、2つのコメントがあります。

と:

// Javaはscala.Double、scala.Intを認識しないので、プリミティブ型指定されたのparamsを専門に、...

したがって、DoubleIntFloatLongBoolean、およびいくつかの配列型はすべて独自の具体的な実装を示しています。

/** Creates a param pair with a `java.util.List` of values (for Java and Python). */ 
    def w(value: java.util.List[java.util.List[java.lang.Double]]): ParamPair[Array[Array[Double]]] = 
    w(value.asScala.map(_.asScala.map(_.asInstanceOf[Double]).toArray).toArray) 
関連する問題