Ошибки при установке Spline (Data Lineage Tool для Spark) - PullRequest
3 голосов
/ 19 июня 2020

Пытаюсь установить Apache Сплайн в Windows. Моя версия Spark - 2.4.0 Scala версия - 2.12.0 Я выполняю шаги, упомянутые здесь https://absaoss.github.io/spline/ Я выполнил команду docker -compose, и пользовательский интерфейс работает

wget https://raw.githubusercontent.com/AbsaOSS/spline/release/0.5/docker-compose.yml
docker-compose up

После этого я попытался запустить приведенную ниже команду, чтобы запустить оболочку pyspark

    pyspark \
  --packages za.co.absa.spline.agent.spark:spark-2.4-spline-agent-bundle_2.12:0.5.3 \
  --conf "spark.sql.queryExecutionListeners=za.co.absa.spline.harvester.listener.SplineQueryExecutionListener" \
  --conf "spark.spline.producer.url=http://localhost:9090/producer"

Это дает мне следующую ошибку:

    C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\pyspark\shell.py:45: UserWarning: Failed to initialize Spark session.
  warnings.warn("Failed to initialize Spark session.")
Traceback (most recent call last):
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\pyspark\shell.py", line 41, in <module>
    spark = SparkSession._create_shell_session()
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\pyspark\sql\session.py", line 583, in _create_shell_session
    return SparkSession.builder.getOrCreate()
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\pyspark\sql\session.py", line 183, in getOrCreate
    session._jsparkSession.sessionState().conf().setConfString(key, value)
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\lib\py4j-0.10.7-src.zip\py4j\java_gateway.py", line 1257, in __call__
    answer, self.gateway_client, self.target_id, self.name)
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\pyspark\sql\utils.py", line 63, in deco
    return f(*a, **kw)
  File "C:\Users\AyanBiswas\Documents\softwares\spark-2.4.0-bin-hadoop2.7\python\lib\py4j-0.10.7-src.zip\py4j\protocol.py", line 328, in get_return_value
    format(target_id, ".", name), value)
py4j.protocol.Py4JJavaError: An error occurred while calling o31.sessionState.
: java.lang.NoSuchMethodError: org.apache.spark.internal.Logging.$init$(Lorg/apache/spark/internal/Logging;)V

Я попытался проверить, что может быть причина этой ошибки и большинство сообщений указывают на несоответствие версии scala, но я использую scala 2.12.0, и упомянутый пакет сплайнов также относится к scala 2.12. Итак, что мне не хватает?

Ответы [ 2 ]

1 голос
/ 23 июня 2020

Я решил ошибку, используя Spark 2.4.2 с Scala 2.12.10 . Причина:

  • Все версии Spark 2.x построены с использованием scala 2.11
  • Только Spark 2.4.2 построен с использованием scala 2.12

Это указано на странице загрузки Spark здесь

Обратите внимание, что Spark 2.x предварительно собран с Scala 2.11, за исключением версии 2.4.2, которая является предварительной -встроен с Scala 2.12. Spark 3.0+ предварительно собран с Scala 2.12.

1 голос
/ 19 июня 2020

Я бы попытался обновить вашу Scala и версию Spark до минорных версий. Сплайн внутренне использует Spark 2.4.2 и Scala 2.12.10 . Так что я бы сделал go за это. Но я не уверен, что это причина проблемы.

...