Oleander-managed Spark
Initialize a PySpark workspace
Create a new PySpark job workspace:
The initialized workspace includes:
entrypoint.pyas the Spark job entrypointmylib/for Python modules packaged aspyFilespyproject.tomlanduv.lockfor project and dependency management withuvMakefiletargets for building deployable artifacts
uv to manage dependencies:
make to build the deployment artifacts:
out/pyfiles.zipout/environment.tar.gz
List your Spark artifacts
Download a Spark artifact
Print the source of an uploaded artifact to stdout:Upload a Spark artifact
Upload a local.py or .jar artifact to oleander:
Delete a Spark artifact
Submit a job
Submit an uploaded artifact to the oleander-managed cluster. Use the uploaded artifact name as theentrypoint.
Oleander-managed submit options:
Stop a running job
Abort a run that is currently in progress:Registered clusters
List registered clusters
Registered EMR Serverless
Register your EMR Serverless cluster, then target it by name when submitting jobs.Register a cluster
Submit a job
Use an EMR-compatible entrypoint, such as an S3 URI to a.py or .jar artifact.
Registered Glue
Register your Glue cluster, then target it by name.Register a cluster
Submit a job
For Glue, theentrypoint is the Glue job name.
For Glue jobs,
--args must be passed as alternating key-value pairs, for example --args source s3://bucket/in target s3://bucket/out.