测试 PySpark

为了运行 PySpark 测试,您应该首先通过 Maven 或 SBT 构建 Spark 本身。 例如,

build/mvn -DskipTests clean package
build/sbt -Phive clean package

之后,可以使用 python/run-tests 运行 PySpark 测试用例。 例如,

python/run-tests --python-executable=python3

请注意,如果您在 Mac OS 上运行测试,您可以将 OBJC_DISABLE_INITIALIZE_FORK_SAFETY 环境变量设置为 YES

请参阅关于如何构建 Spark为模块或单个测试运行测试的指南。

运行单个 PySpark 测试

您可以使用 python/run-tests 运行特定测试,例如,如下所示

python/run-tests --testnames pyspark.sql.tests.test_arrow

有关更多详细信息,请参阅测试 PySpark

使用 GitHub Actions 运行测试

您可以通过在您自己的forked GitHub 存储库中使用 GitHub Actions,只需点击几下即可运行完整的 PySpark 测试。 有关更多详细信息,请参阅使用 GitHub Actions 在您的forked 存储库中运行测试

运行 Spark Connect 的测试

运行 Python 客户端的测试

为了测试 Protobuf 定义中的更改,例如在 spark/connector/connect/common/src/main/protobuf/spark/connect,您应该首先通过运行 dev/connect-gen-protos.sh 来重新生成 Python Protobuf 客户端。

使用 Python 客户端运行 PySpark Shell

对于您本地构建的 Apache Spark

bin/pyspark --remote "local[*]"

对于 Apache Spark 版本

bin/pyspark --remote "local[*]" --packages org.apache.spark:spark-connect_2.12:3.4.0