почему работа с spark не работает на zepplin, когда они работают при использовании оболочки pyspark - PullRequest
0 голосов
/ 19 февраля 2019

я пытаюсь выполнить следующий код на zepplin

df = spark.read.csv('/path/to/csv')
df.show(3)

, но я получаю следующую ошибку

Py4JJavaError: An error occurred while calling o786.collectToPython. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 5 in stage 39.0 failed 4 times, most recent failure: Lost task 5.3 in stage 39.0 (TID 326, 172.16.23.92, executor 0): java.io.InvalidClassException: org.apache.commons.lang3.time.FastDateParser; local class incompatible: stream classdesc serialVersionUID = 2, local class serialVersionUID = 3

у меня hasoop-2.7.3, работающий на кластере из 2 узлови spark 2.3.2, работающий в автономном режиме и zeppelin 0.8.1, эта проблема возникает только при использовании zepplin, и у меня есть SPARK_HOME в конфигурации zeppelin.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Zeppelin использует банку commons-lang2 для потоковой передачи исполнителям Spark, в то время как Spark local использует common-lang3.как упоминал Ахреф, просто заполните местоположение артефакта commons-lang3 и перезапустите интерпретатор, тогда все будет хорошо.

0 голосов
/ 20 февраля 2019

Я решил, проблема была в том, что zeppelin использовал commons-lang3-3.5.jar и spark с помощью commons-lang-2.6.jar, поэтому все, что я сделал, это добавил путь к jar к конфигурации zeppelin в меню интерпретатора:

1-Click меню «Интерпретатор» на панели навигации.

2-Click «Редактировать» кнопку интерпретатора, в который вы хотите загрузить зависимости.

3-FillАртефакт и исключить поле для ваших нужд.Добавьте путь к соответствующему файлу jar.

4 - Нажмите «Сохранить», чтобы перезапустить интерпретатор с загруженными библиотеками.

...