2017-02-06 3 views
0

Я изо всех сил стараюсь сделать работу юнита в моей оболочке искры.Использование Junit в оболочке Spark

При попытке импортировать Assert из JUnit Я Geet следующее сообщение об ошибке:

scala> import org.junit.Assert._ 
<console>:23: error: object junit is not a member of package org 
     import org.junit.Assert._ 

Любой способ иметь это исправить? Любая идея о том, как загрузить org.junit из оболочки scala?

РЕДАКТИРОВАТЬ: После выполнения из zsxwing Рекомендации для, я использовал искровую оболочку --packages JUnit: JUnit: 4.12 со следующим выходом:

C:\spark>spark-shell --packages junit:junit:4.12 
Ivy Default Cache set to: C:\xxx\.ivy2\cache 
The jars for the packages stored in: C:\xxxx\.ivy2\jars 
:: loading settings :: url = jar:file:/C:/spark/jars/ivy-2.4.0.jar!/org/apache/i 
vy/core/settings/ivysettings.xml 
junit#junit added as a dependency 
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0 
     confs: [default] 
     found junit#junit;4.12 in central 
     found org.hamcrest#hamcrest-core;1.3 in central 
:: resolution report :: resolve 365ms :: artifacts dl 7ms 
     :: modules in use: 
     junit#junit;4.12 from central in [default] 
     org.hamcrest#hamcrest-core;1.3 from central in [default] 
     --------------------------------------------------------------------- 
     |     |   modules   || artifacts | 
     |  conf  | number| search|dwnlded|evicted|| number|dwnlded| 
     --------------------------------------------------------------------- 
     |  default  | 2 | 0 | 0 | 0 || 2 | 0 | 
     --------------------------------------------------------------------- 
:: retrieving :: org.apache.spark#spark-submit-parent 
     confs: [default] 
     0 artifacts copied, 2 already retrieved (0kB/20ms) 
Setting default log level to "WARN". 
Spark context Web UI available at http://xxxxx 
Spark context available as 'sc' (master = local[*], app id = local-xxx 
). 
Spark session available as 'spark'. 
Welcome to 
     ____    __ 
    /__/__ ___ _____/ /__ 
    _\ \/ _ \/ _ `/ __/ '_/ 
    /___/ .__/\_,_/_/ /_/\_\ version 2.0.0 
     /_/ 

Однако все еще сталкивается с той же проблемой при попытке для импорта org.junit.Assert._

ответ

0

JUnit - это тестовая зависимость, и она не включена в путь класса оболочки Spark. Вы можете использовать параметр --packages добавить какую-либо зависимость, таких как,

bin/spark-shell --packages junit:junit:4.12 
+0

Большое спасибо за ваш ответ, однако после установки pacakage так, как вы объяснили мне, я получаю ту же ошибку –

+0

Она работает на моем ноутбуке OS X У меня нет Windows-компьютера для проверки, возможно, это потому, что эта функция нарушена в Windows. Кстати, это первый раз, когда я видел, как люди используют junit в оболочке Spark. Не могли бы вы объяснить, почему вам нужно выполнять модульные тесты в оболочке Spark? Он не предназначен для этого. – zsxwing

Смежные вопросы