【问题标题】:Getting error while setting pyspark environment [duplicate]设置pyspark环境时出错[重复]
【发布时间】:2020-09-23 09:43:41
【问题描述】:
C:\spark-3.0.0-preview2-bin-hadoop2.7\bin>pyspark
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
20/05/18 10:55:36 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 3.0.0-preview2
      /_/

Using Python version 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020 22:20:19)
SparkSession available as 'spark'.
>>> 20/05/18 10:55:56 WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped

【问题讨论】:

标签: apache-spark pyspark


【解决方案1】:

根据我的评论,我想查看您的 PYTHONPATH 和 PATH 环境变量的当前 。这是我机器上的一个例子。只需将文本发布为红色,即 echo 命令的整个输出:

编辑:免责声明 - 我根本没有运行 spark,只是对它感兴趣并且正在筛选文档,因为我计划在某个时候学习它。

PATH 环境变量

    C:\Program Files (x86)\Common Files\Oracle\Java\javapath
    C:\Windows\system32
    C:\Windows
    C:\Windows\System32\Wbem
    C:\Windows\System32\WindowsPowerShell\v1.0\
    C:\Windows\System32\OpenSSH\
    C:\Program Files\jdk-14.0.1_windows-x64_bin\jdk-14.0.1
    C:\Hadoop\bin
    C:\Users\lenovo\AppData\Local\Programs\Python\Python38-32\Scripts\
(i) C:\spark-3.0.0-preview2-bin-hadoop2.7\python\lib\py4j-0.10.8.1-src
    C:\Users\lenovo\AppData\Local\Programs\Python\Python38-32\Scripts\
    C:\Users\lenovo\AppData\Local\Programs\Python\Python38-32\
    C:\Users\lenovo\AppData\Local\Microsoft\WindowsApps

好的,解压您的 PATH env-var(上图),我们看到您正在使用“spark-3.0.0-preview2”(i)。嗯...来自Spark download page(强调添加):“预览版并不意味着功能性,即它们可以并且很可能会包含严重错误或文档错误。最新的预览版本是 Spark 3.0.0-preview2,于 2019 年 12 月 23 日发布。” (编辑:fwiw,我认为下载页面的下拉列表默认为预览版本有点不公平,所以我可以理解你为什么选择它)

就我个人而言,我会考虑使用不同版本的 Spark(不同的意思是更老更稳定)。 另外,如果您完全了解 linux,我建议您在虚拟机中执行此操作。不妨试试 Medium 上的这篇文章:“Practical Apache Spark in 10 minutes.

但如果您真的必须使用 Windows,我会寻找更旧(且更稳定)的 Spark 版本。

建议的 PYTHONPATH

从我提到的other issue 开始,他们谈到将您的 PYTHONPATH env-var 指向 SPARK_HOME,如下所示:

Adding PYTHONPATH environment variable with value as:
(ii) set PYTHONPATH=%SPARK_HOME%\python;%SPARK_HOME%\python\lib\py4j-<version>-src.zip:%PYTHONPATH%

让我们从 (ii) 中拆分出 PYTHONPATH 的那些目录:

(iii) %SPARK_HOME%\python
 (iv) %SPARK_HOME%\python\lib\py4j-<version>-src.zip
  (v) %PYTHONPATH%

由于我们使用的是 Windows,因此 (ii) 末尾的 ':%PYTHONPATH%' 似乎是一个拼写错误(请参阅上面的 (iii) 和 (iv) 之间)。 unix/linux 上的冒号,windows 上的分号。

无论如何,如果我 不得不 完成这项工作,我会首先查看文件夹 (iii) 和 (iv) 是否确实存在。这意味着从 SPARK_HOME env-var 的值开始。

注意 (iv) 的 部分,它不会是字面上的“”。例如,如果您继续使用可能类似于“3.0.0-preview2”的预览版本。 (fwiw,这也是为什么我还要求您的 PYTHONPATH env-var 的值)。

【讨论】:

  • C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\ Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\jdk-14.0.1_windows-x64_bin\jdk-14.0.1;C:\Hadoop\bin;C: \Users\lenovo\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\spark-3.0.0-preview2-bin-hadoop2.7\python\lib\py4j-0.10.8.1-src;C :\Users\lenovo\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\Users\lenovo\AppData\Local\Programs\Python\Python38-32\;C:\Users\lenovo\AppData\本地\微软\WindowsApps;
  • 酷,也请发布你的 PYTHONPATH 的值。
  • 我认为 : 只是一个错字,应该是 ; 以便它只是将声明的两个路径添加到 %PYTHONPATH% 的现有值
  • 我正在使用非预览版 3.0.0,但仍然遇到同样的错误。
猜你喜欢
  • 2021-09-24
  • 1970-01-01
  • 2019-03-24
  • 2019-06-08
  • 2015-07-12
  • 2019-06-19
  • 2022-01-25
  • 1970-01-01
相关资源
最近更新 更多