簡體   English   中英

Spark-shell 不工作

[英]Spark-shell is not working

當我提交spark-shell命令時,我看到以下錯誤:

# spark-shell

> SPARK_MAJOR_VERSION is set to 2, using Spark2
  File "/usr/bin/hdp-select", line 249
    print "Packages:"
                    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(t "Packages:")?
ls: cannot access /usr/hdp//hadoop/lib: No such file or directory
Exception in thread "main" java.lang.IllegalStateException: hdp.version is not set while running Spark under HDP, please set through HDP_VERSION in spark-env.sh or add a java-opts file in conf with -Dhdp.version=xxx
        at org.apache.spark.launcher.Main.main(Main.java:118)

問題是 HDP 腳本 /usr/bin/hdp-select 顯然是在 Python3 下運行的,而它包含不兼容的 Python2 特定代碼。

您可以通過以下方式將 /usr/bin/hdp-select 移植到 Python3:

  1. 在打印語句中添加括號
  2. 將“packages.sort()”行替換為“list(package).sort()”)
  3. 將“os.mkdir(current, 0755)”行替換為“os.mkdir(current, 0o755)”

你也可以嘗試強制HDP在Python2下運行/usr/bin/hdp-select:

PYSPARK_DRIVER_PYTHON=python2 PYSPARK_PYTHON=python2 spark-shell

有同樣的問題:我在運行 spark 之前設置了HDP_VERSION

export HDP_VERSION=<your hadoop version>

spark-shell

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM