Как игнорировать spark_home при юнит-тестировании с pyspark - PullRequest
0 голосов
/ 07 июня 2019

Я пытался написать юнит-тесты с 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'), который получает Exception: Java gateway process exited before sending its port number. Когда я не пытаюсь сбросить env var, я получаю ту же ошибку.

Как я могу убедиться, что мои тесты будут работать на любой машине, просто игнорируя любые переменные среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...