我可以在我的 Windows 上执行 pip install pyspark
。当我尝试运行下面的示例脚本时,它告诉我我的 SPARK_HOME
未设置。
我是否需要将我的 SPARK_HOME 设置为静止状态,我该怎么做?
我在网上提到的博客从 spark 网站手动提取 spark 文件,然后他们必须放置 SPARK_HOME 和 PYTHONPATH。
但是,我认为这已通过 pip install pyspark
消除。
import findspark
findspark.init()
import pyspark # only run after findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
df = spark.sql('''select 'spark' as hello ''')
df.show()
对于 intellij,在安装 pyspark 并根据需要进行设置后,是否还需要进行额外的配置?
最佳答案
一般来说,如果你不需要完整安装Spark,建议你直接用pip安装在你的环境中:
pip install pyspark
如果您使用的是 conda,您可以通过以下方式获取它:
conda install -c conda-forge pyspark
安装准备就绪后,您应该能够使用 pyspark
调用 Spark shell关键词。
运行可执行文件时可能会遇到几个问题。值得注意的是,您可能会遇到以下错误:
Python was not found but can be installed from the Microsoft Store
显然,如果您刚刚安装了 PySpark,您的虚拟环境中就已经准备好了 Python,因此您可以通过禁用 python.exe
来关闭这些默认路径。和 python3.exe
Apps >> Apps & features >> App execution aliases
中的应用程序安装程序在设置中。
您可能仍然会遇到看似相关的错误:
Missing Python executable
python3
, defaulting to[path_to_spark_home]
forSPARK_HOME
environment variable. Please install Python or specify the correct Python executable inPYSPARK_DRIVER_PYTHON
orPYSPARK_PYTHON
environment variable to detectSPARK_HOME
safely.
此错误消息与其中一些错误消息相结合:
The system cannot find the path specified.
在这种情况下,问题可能不合适 SPARK_HOME
变量或未指定的 Python 路径。
在第一种情况下,尝试设置 SPARK_HOME
明确地:
$env:SPARK_HOME=python -c "import pyspark, pathlib; print(pathlib.Path(pyspark.__file__).parent)"
此外,如果您在运行 pyspark 时仍然遇到问题,例如:
Cannot run program "python3": [...] The system cannot find the file specified
将与 Python 相关的变量设置为您环境中的 Python 路径。具体来说:
$env:PYSPARK_DRIVER_PYTHON=python -c "import sys; print(sys.executable)"
$env:PYSPARK_PYTHON=python -c "import sys; print(sys.executable)"
如果您没有安装Java 11,您应该download , 安装它并设置环境变量 JAVA_HOME
到安装它的路径。如果您使用的是 conda,则可以改用 OpenJDK:
conda install -c conda-forge openjdk
您可能仍然会遇到错误说明:
Did not find winutils.exe. java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
正如预期的那样,您需要 download binaries对于 Hadoop,然后设置 HADOOP_HOME
该路径的环境变量。
一旦指定了所有这些路径,只要您拥有必要的权限,PySpark 可执行文件就应该能够运行。
运行pyspark
后尝试测试其能力使用一个简单的脚本:
df = spark.createDataFrame([("Spark", "Impala"), ("3.2", "2.2")])
df.show()
关于python - 在 Windows 上安装 pyspark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641137/