Импорт не найден за пределами класса

Я запускаю приведенный ниже код Scala в записной книжке Zeppelin на экземпляре Azure HDInsight.

%livy2.spark

import breeze.linalg.DenseVector
var foo: DenseVector[Double] = DenseVector.zeros[Double](1)

class ClassBar() {
    var baz: DenseVector[Double] = DenseVector.zeros[Double](1,1)
}

Ошибка, которую я получаю:

<console>:13: error: not found: type DenseVector
    var baz: DenseVector[Double] = DenseVector.zeros[Double](1,1)
                ^
<console>:13: error: not found: value DenseVector
    var baz: DenseVector[Double] = DenseVector.zeros[Double](1,1)
                                      ^

Это работает, если я снова импортирую DenseVector внутри определения класса, но я не понимаю, зачем это нужно? Разве он не должен найти определение DenseVector, которое находится за пределами определения класса?


person road_rash    schedule 24.05.2018    source источник
comment
Возможно, дубликаты stackoverflow.com/q/50495293/1296806? Вчера я узнал, что пользователи искровой оболочки имеют дело со сломанной генерацией импорта. Эта конкретная ошибка исправлена ​​​​в последней версии scala 2.11.11/12, но не 2.11.8 или 2.10 (для spark 1.6).   -  person som-snytt    schedule 24.05.2018
comment
да, это ошибка scala   -  person zjffdu    schedule 25.05.2018
comment
Не уверен, какие версии здесь задействованы; другой возможный виновник — SPARK-22393 исправлено в Spark 2.3, обратное портирование исправления для ошибки Scala 9881.   -  person Joe Pallas    schedule 26.05.2018