Каково решение для ошибки "JBlas не является членом пакета или apache"?

Я пытался решить ее из обоих ( этого и этого) потоков, и у меня это работало на моей собственной виртуальной машине, но не работало в облачном хранилище данных. Я сделал один и тот же процесс для них обоих. Но в облаке все еще есть ошибка, такая же, как и ранее в виртуальной машине. Что нужно сделать в облаке, чтобы решить это? скриншот ошибки

1 ответ

Решение

Делали ли вы полные шаги "git clone" в этих связанных темах? И вам нужно было на самом деле изменить JBLAS? Если нет, вы должны просто вытащить их из Maven Central, используя --packages org.jblas:jblas:1.2.4 без git clone или же mvn install; на новом кластере Dataproc у меня сработало следующее:

$ spark-shell --packages org.jblas:jblas:1.2.4
Ivy Default Cache set to: /home/dhuo/.ivy2/cache
The jars for the packages stored in: /home/dhuo/.ivy2/jars
:: loading settings :: url = jar:file:/usr/lib/spark/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
org.jblas#jblas added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
  confs: [default]
  found org.jblas#jblas;1.2.4 in central
downloading https://repo1.maven.org/maven2/org/jblas/jblas/1.2.4/jblas-1.2.4.jar ...
  [SUCCESSFUL ] org.jblas#jblas;1.2.4!jblas.jar (605ms)
:: resolution report :: resolve 713ms :: artifacts dl 608ms
  :: modules in use:
  org.jblas#jblas;1.2.4 from central in [default]
  ---------------------------------------------------------------------
  |                  |            modules            ||   artifacts   |
  |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
  ---------------------------------------------------------------------
  |      default     |   1   |   1   |   1   |   0   ||   1   |   1   |
  ---------------------------------------------------------------------
:: retrieving :: org.apache.spark#spark-submit-parent
  confs: [default]
  1 artifacts copied, 0 already retrieved (10360kB/29ms)
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR,/etc/hive/conf.dist/ivysettings.xml will be used
Spark context Web UI available at http://10.240.2.221:4040
Spark context available as 'sc' (master = yarn, app id = application_1501548510890_0005).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_131)
Type in expressions to have them evaluated.
Type :help for more information.

scala> import org.jblas.DoubleMatrix
import org.jblas.DoubleMatrix

scala> :quit

Кроме того, если вам нужно отправить задания, для которых требуются "пакеты", через API отправки заданий Dataproc, то с --packages на самом деле является синтаксическим сахаром в различных скриптах запуска Spark, а не является свойством задания Spark, вам нужно использовать эквивалентный spark.jars.packages вместо этого в таком случае, как объяснено в этом ответе Stackru.

Другие вопросы по тегам