当我尝试在 EMR 无服务器上运行作业时收到以下错误 -
ModuleNotFoundError:没有名为“pyspark.sql”的模块。请参阅用户指南,了解如何在 EMR Serverless 中使用 python 库。
当我尝试在 zip 包内的 python 文件中导入 pyspark.sql 时,就会发生这种情况。
文件-
pyspark.zip
|--__init__.py
|--spark.py
内容-
#__init__.py
from .spark import *
#spark.py
from pyspark.sql import SparkSession
def run():
print("Create Spark Session")
spark_session = SparkSession\
.builder\
.appName("First pyspark project")\
.getOrCreate()
我给这份工作的火花属性 -
--conf Spark.submit.pyFiles=s3://my-bucket/pyspark.zip
--conf Spark.executorEnv.PYSPARK_PYTHON=python
我恐怕错过了什么。我应该安装它还是什么? 我所做的就是将项目压缩成 zip 文件并将其上传到 S3。
我也遇到这个问题了。您为作业提供的 Spark 属性不正确。对于 EMR,它应该是:spark.yarn.dist.pyFiles=s3://my-bucket/pyspark.zip