安装样条线时出错(Spark数据沿袭工具)

时间:2020-06-19 13:16:21

标签: scala apache-spark pyspark

我正在尝试在Windows中安装Apache Spline。 我的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 shell

    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 个答案:

答案 0 :(得分:1)

我会尝试将您的Scala和Spark版本更新为绝对版本。 Spline相互使用 Spark 2.4.2 Scala 2.12.10 。所以我会去的。但是我不确定这是否是问题的原因。

答案 1 :(得分:1)

我通过将 spark 2.4.2 Scala 2.12.10 结合使用解决了该错误。 原因是

  • 所有spark 2.x版本均使用scala 2.11构建
  • 仅使用scala 2.12构建spark 2.4.2

在星火下载页面here

中提到了这一点

请注意,Spark 2.x是用Scala 2.11预先构建的,而版本2.4.2是用Scala 2.12预先构建的。 Spark 3.0+是使用Scala 2.12预先构建的。