火花

2016-04-25 222 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