火花

2016-04-25 183 views
3

使用微风我想用微风火花执行一些计算并最终实施的R包火花https://stackoverflow.com/questions/36727811/spark-weighted-repeated-median-smoothing-and-filtering火花

不过,我遇到入门微风问题。如果有火花结合微风implicits似乎并不正确

import breeze.linalg.{ DenseVector => BDV } 
import breeze.stats.distributions.Poisson 
import org.apache.spark.sql.SQLContext 
import org.apache.spark.{ SparkConf, SparkContext} 
import breeze.stats.{ mean => bmean} 

import breeze.stats._ 

class RobfilterR extends App { 

    val conf = new SparkConf().setAppName("RobfilterR").setMaster("local[*]") 
    val sc = new SparkContext(conf) 
    val sql = new SQLContext(sc) 

    val poi = Poisson(3.0) 
    val x = poi.sample(10) 
    val v = BDV(x.toArray) 
    bmean(v) 

}

导入,而是因为implicits不正确导入基本微风功能不工作了。这里有什么问题?

error: could not find implicit value for parameter impl: breeze.stats.mean.Impl[breeze.linalg.DenseVector[Int],VR] 
       bmean(v) 

回答

6

问题的根源是您传递给mean而不是导入的参数。微风根本不实施Vector[Int]的意思。

import breeze.stats.mean 
import breeze.linalg.{Vector, DenseVector} 

val v = DenseVector(1, 2, 3) 
mean(v) 
// error: could not find implicit value for parameter impl: 
// breeze.stats.mean.Impl[breeze.linalg.DenseVector[Int],VR] 
//  mean(v) 

如果要计算意味着你必须将它转换为支持的类型第一:

import breeze.linalg.convert 

mean(convert(v, Double)) 
// Double = 2.0