Библиотека импорта графических кадров ядра EMR Notebook Scala

Запуск spark-shell --packages "graphframes:graphframes:0.7.0-spark2.4-s_2.11" в оболочке bash работает, и я могу успешно импортировать графические кадры 0.7, но когда я пытаюсь использовать его в блокноте scala jupyter следующим образом:

import scala.sys.process._
"spark-shell --packages \"graphframes:graphframes:0.7.0-spark2.4-s_2.11\""!
import org.graphframes._

выдает сообщение об ошибке:

<console>:53: error: object graphframes is not a member of package org
   import org.graphframes._

Что, насколько я могу судить, означает, что он запускает команду bash, но все еще не может найти полученный пакет.

Я делаю это на ноутбуке EMR с ядром spark scala.

Должен ли я установить какой-то путь к библиотеке искр в среде jupyter?


person Joe S    schedule 12.02.2019    source источник


Ответы (1)


Это просто не должно работать. То, что делает ваш код, — это простая попытка запустить новую независимую оболочку Spark. Кроме того, пакеты Spark должны загружаться при первой инициализации SparkContext.

Вы должны либо добавить (при условии, что это правильные версии)

spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11

в ваши файлы конфигурации Spark или используйте эквивалент в ваших SparkConf / SparkSessionBuilder.config до инициализации SparkSession.

person user11052529    schedule 12.02.2019
comment
ааа, похоже, я делаю вторую искровую оболочку, включающую мою библиотеку, но затем не использую ее, поскольку я уже использую экземпляр искровой оболочки. Это правильно? - person Joe S; 12.02.2019