Acceldata
ODP

Last updated: Nov 12, 2026 11:07 UTC

Get started

Get started with Spark Migrate CLI to analyze and migrate your existing Spark applications to Spark 3.5.5.

Prerequisites

You need

For

JDK 17

the compile and test steps (point JAVA_HOME at it)

git

creating and applying the patch

sbt

Scala repositories built with sbt

Maven and coursier (cs)

Maven repositories, Scala or Java

Python 3.10–3.13

the analysis engine for PySpark and embedded SQL; your job keeps its own Python

Maven Central, or your mirror

resolving Spark 3.5.5 and upgraded libraries through your own sbt/Maven settings

The bundled Python engine supports Linux x86_64, Linux aarch64 and Apple Silicon macOS. Install only what your repositories need.

Install

sha256sum -c spark-migrate-cli-1.1.0.tar.gz.sha256        # macOS: shasum -a 256 -c ...
tar -xzf spark-migrate-cli-1.1.0.tar.gz
spark-migrate-cli-1.1.0/install.sh --profile ~/.profile
source ~/.profile

Check the machine

spark-migrate-cli doctor
Tools
  ok      git                 git version 2.50.1
  ok      java                openjdk version "17.0.19" 2026-04-21 LTS
  ok      sbt                 2.0.4 (launcher)
  ok      mvn                 Apache Maven 3.9.16
  ok      cs                  2.1.24
  ...
What this machine can migrate
  Scala + sbt    READY
  Scala + Maven  READY
  Java + Maven   READY
  PySpark        READY

Try the built-in sample (5 minutes)

mkdir ~/sm-try && cd ~/sm-try
spark-migrate-cli demo --yes                 # unpack a Spark 2.4.8 sbt job, migrate it, open the report
spark-migrate-cli apply --job-id demo
grep -n "sparkVersion\|scalaVersion" spark-migrate-demo-repo/build.sbt
4:scalaVersion := "2.12.18"
6:val sparkVersion = "3.5.5"
9:  "org.apache.spark" %% "spark-core" % sparkVersion % "provided",
10:  "org.apache.spark" %% "spark-sql"  % sparkVersion % "provided",

Migrate your own repository

spark-migrate-cli run -r ./my-spark2-repo --job-id my-job