我正在尝试在 pyspark 环境中运行脚本,但到目前为止我还无法做到。
如何在 pyspark 中运行类似
python script.py
的脚本?
你可以这样做:
./bin/spark-submit mypythonfile.py
从 Spark 2.0 开始,不支持通过
pyspark
运行 python 应用程序。
pyspark 2.0及更高版本执行环境变量
PYTHONSTARTUP
中的脚本文件,因此可以运行:
PYTHONSTARTUP=code.py pyspark
与
spark-submit
答案相比,这对于在使用交互式 pyspark shell 之前运行初始化代码很有用。
只要
spark-submit mypythonfile.py
就足够了。
您可以执行“script.py”如下
pyspark < script.py
或
# if you want to run pyspark in yarn cluster
pyspark --master yarn < script.py
现有答案是正确的(即使用
spark-submit
),但我们中的一些人可能只想像 pyspark 中那样开始使用 SparkSession 对象。
因此在首先运行的 pySpark 脚本中添加:
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.master('yarn') \
.appName('pythonSpark') \
.enableHiveSupport()
.getOrCreate()
然后使用
spark.conf.set('conf_name', 'conf_value')
设置任何配置,如执行器核心、内存等。
Spark环境提供了执行应用程序文件的命令,无论是Scala还是Java(需要Jar格式)、Python和R编程文件。 命令是,
$ spark-submit --master <url> <SCRIPTNAME>.py
.
我在Windows 64位架构系统中使用JDK 1.8版本运行spark。
P.S 找到我的终端窗口的屏幕截图。 代码片段
如果将 SPARK_HOME 环境变量设置为 C:\Spark\spark-3.5.3-bin-hadoop3 并将路径 %SPARK_HOME% in 添加到系统的 PATH 环境变量中,则可以使用 spark-submit mypythonfile.py. 运行 Python 脚本,否则您应该使用 ./bin/spark-submit
注:
pyspark < script.py approach is no longer supported for running Python applications with Apache Spark since version 2.0. You'll encounter an error message like this:
截至目前,不支持通过“pyspark”运行Python应用程序 火花2.0。使用 ./bin/spark-submit