Установка пакета graphframes в автономном кластере spark

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

Я вручную загрузил банку из здесь, добавленную в $ 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.

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

0
0
1 328
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

/opt/cloudera/parcels/SPARK2/lib/spark2/jars/

Если вы не можете поместить их в этот каталог в своем кластере (потому что у вас нет прав root, а ваш администратор очень ленив), вы можете просто добавить в свой spark-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-файл graphframes, а затем через оболочку

#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), импорт графических фреймов работает нормально

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

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