spark_runner.py is the Python wrapper for the Beam Spark runner. It requires the Beam Spark job server jar to operate. The default jar is Spark 2.
To build and use the Spark 3 jar from source:
- Build it from source with "./gradlew :runners:spark:3:job-server:shadowJar"
- Use it in Python by passing the pipeline option "--spark_job_server_jar=/.../runners/spark/3/job-server/build/libs/beam-runners-spark-3-job-server-2.x.0-SNAPSHOT.jar"
But this is cumbersome. We should provide an easy way to use the released Spark 3 job server jar.