我试图用pyspark编写单元测试。未设置SPARK_HOME
时,测试通过以下配置。我们的机器上安装了多个spark,如果SPARK_HOME
设置为其中之一,则该机器上的测试将失败。
@pytest.fixture(scope="session")
def spark_session(request):
session = SparkSession\
.builder\
.master("local[2]")\
.appName("pytest-pyspark-local-testing")\
.getOrCreate()
request.addfinalizer(lambda: session.stop())
quiet_py4j()
return session
我尝试过os.environ["SPARK_HOME"] = ""
,但遇到了FileNotFoundError: [Errno 2] No such file or directory: './bin/spark-submit': './bin/spark-submit
错误。
我还尝试了os.unsetenv('SPARK_HOME')
的{{1}}。当我不尝试取消设置环境变量时,也会遇到同样的错误。
我怎样才能确保我的测试在任何计算机上都能正常工作,而无需理会任何环境变量。