Установка пакета graphframes в автономный кластер Spark - PullRequest
0 голосов
/ 31 октября 2018

У меня есть автономный кластер pyspark (без доступа в Интернет), где мне нужно установить библиотеку graphframes .

Я вручную скачал флягу из здесь , добавленного в $ SPARK_HOME / jars /, и затем, когда я пытаюсь использовать его, я получаю следующую ошибку:

error: missing or invalid dependency detected while loading class file 'Logging.class'.
Could not access term typesafe in package com,
because it (or its dependencies) are missing. Check your build definition for
missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)
A full rebuild may help if 'Logging.class' was compiled against an incompatible version of com.
error: missing or invalid dependency detected while loading class file 'Logging.class'.
Could not access term scalalogging in value com.typesafe,
because it (or its dependencies) are missing. Check your build definition for
missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)
A full rebuild may help if 'Logging.class' was compiled against an incompatible version of com.typesafe.
error: missing or invalid dependency detected while loading class file 'Logging.class'.
Could not access type LazyLogging in value com.slf4j,
because it (or its dependencies) are missing. Check your build definition for
missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)
A full rebuild may help if 'Logging.class' was compiled against an incompatible version of com.slf4j.

Как правильно установить его в автономном режиме со всеми зависимостями?

1 Ответ

0 голосов
/ 02 ноября 2018

Мне удается установить библиотеку графических фреймов. Прежде всего я нашел зависимости графических фреймов, где:

scala-logging-api_xx-xx.jar
scala-logging-slf4j_xx-xx.jar

где xx - правильные версии для scala и jar-версии. Затем я установил их на правильный путь. Поскольку я работаю на машине Cloudera, правильный путь:

/ опт / Cloudera / посылки / SPARK2 / Библиотека / spark2 / банки /

Если вы не можете поместить их в этот каталог в своем кластере (поскольку у вас нет прав root и ваш администратор супер ленив), вы можете просто добавить в свою искру-submit / spark-shell

spark-submit ..... --driver-class-path /path-for-jar/  \
                   --jars /../graphframes-0.5.0-spark2.1-s_2.11.jar,/../scala-logging-slf4j_2.10-2.1.2.jar,/../scala-logging-api_2.10-2.1.2.jar

Это работает для Scala. Чтобы использовать графические рамки для Python, вам нужно скачать графические фляги jar и затем через shell

#Extract JAR content
 jar xf graphframes_graphframes-0.3.0-spark2.0-s_2.11.jar
#Enter the folder
 cd graphframes
#Zip the contents
 zip graphframes.zip -r *

А затем добавьте заархивированный файл в ваш путь к python в spark-env.sh или в ваш bash_profile с

export PYTHONPATH=$PYTHONPATH:/..proper path/graphframes.zip:.

Тогда открытие оболочки / отправка (снова с теми же аргументами, что и у scala) импорта графических фреймов работает нормально

Эта ссылка была чрезвычайно полезна для этого решения

...