ModuleNotFoundError:与 EMR Serverless 一起使用时没有名为“pyspark.sql”的模块

问题描述 投票:0回答:1

当我尝试在 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。

apache-spark pyspark amazon-emr
1个回答
0
投票

我也遇到这个问题了。您为作业提供的 Spark 属性不正确。对于 EMR,它应该是:spark.yarn.dist.pyFiles=s3://my-bucket/pyspark.zip

© www.soinside.com 2019 - 2024. All rights reserved.