2016-01-24 21 views
7

Aşağıdaki örnek kod, Spark ile Advanced Analytics adlı kitaptan alınmıştır. Sadece yaparsanızNeden bu Spark örnek kodu kıvılcım kabuğuna yüklenmiyor?

import org.apache.spark.util.StatCounter 
<console>:9: error: not found: type StatCounter 
     val stats: StatCounter = new StatCounter() 
       ^
<console>:9: error: not found: type StatCounter 
     val stats: StatCounter = new StatCounter() 
            ^
<console>:23: error: not found: type NAStatCounter 
     def apply(x: Double) = new NAStatCounter().add(x) 

kıvılcım-kabuğunda aşağıdaki sorun yoktur: Ben kıvılcım-kabuk (sürüm 1.4.1) içine yüklediğiniz zaman o StatCounter bulamadığını belirten aşağıdaki hatayı veriyor :

scala> import org.apache.spark.util.StatCounter 
import org.apache.spark.util.StatCounter 

scala> val statsCounter: StatCounter = new StatCounter() 
statsCounter: org.apache.spark.util.StatCounter = (count: 0, mean: 0.000000, stdev: NaN, max: -Infinity, min: Infinity) 

Sorun şu şekilde görünüyor: kıvılcım kabuğundaki yükleme komutu. Seninle aynı sorun var

import org.apache.spark.util.StatCounter 
class NAStatCounter extends Serializable { 
    val stats: StatCounter = new StatCounter() 
    var missing: Long = 0 

    def add(x: Double): NAStatCounter = { 
     if (java.lang.Double.isNaN(x)) { 
      missing += 1 
     } else { 
     stats.merge(x) 
     } 
     this 
    } 

    def merge(other: NAStatCounter): NAStatCounter = { 
     stats.merge(other.stats) 
     missing += other.missing 
     this 
    } 

    override def toString = { 
     "stats: " + stats.toString + " NaN: " + missing 
    } 
} 

object NAStatCounter extends Serializable { 
    def apply(x: Double) = new NAStatCounter().add(x) 
} 
+0

yolunu bilmiyorum edilir

val stats: StatCounter = new StatCounter() 

val stats: org.apache.spark.util.StatCounter = new org.apache.spark.util.StatCounter() 

INTO denediğinizi olarak bunu çözmek
,
DEĞİŞİKLİĞİ sınıfında bu kütüphane mi yol? Bize bu kütüphanenin yerini söyler ve lib yolunu yazdırabilir misiniz? –

+4

Bunu aldığımda, onu bildirirken StatCounter'ı tam olarak nitelendirmem gerektiğini buldum: val değerleri: org.apache.spark.util.StatCounter = new org.apache.spark.util.StatCounter() ' –

+0

Varsayılan olarak sınıf yolu. Yukarıdaki orta kod bloğundaki kıvılcım kabuğundan gelen iki çizgi örneği göstermektedir. Bir dosyayı yüklediğimde sorun oluştuğunda. –

cevap

3

:

İşte kod. nedeni belki sistem StatCounter

+0

Lütfen kaynak kodunuza sözdizimi vurgulama ekleyin. – Robson

İlgili konular