spark-version-upgrade
Upgrade Apache Spark applications between major versions (2.x→3.x, 3.x→4.x).
Skill by OpenHands
Chalk Labs
Need help deploying spark-version-upgrade?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/openhands-spark-version-upgrade
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spark-version-upgrade
What's inside
- Skill name
spark-version-upgrade- Description
- Upgrade Apache Spark applications between major versions (2.x→3.x, 3.x→4.x). Covers build files, deprecated APIs, configuration changes, SQL/DataFrame updates, and test validation.
- License
- MIT
- Compatibility
- Requires Java 8+/11+/17+, Scala 2.12/2.13, Maven/Gradle/SBT, Apache Spark
- Instructions
- 221 lines in SKILL.md · view on GitHub
Files (5)
- .claude-plugin
- .codex-plugin
- plugin.json · .plugin/
- README.md
- SKILL.md
SKILL.md (first lines)
Upgrade Apache Spark applications between major versions with a structured, phase-by-phase workflow.
## When to Use
- Migrating from Spark 2.x → 3.x or Spark 3.x → 4.x
- Updating PySpark, Spark SQL, or Structured Streaming applications
- Resolving deprecation warnings before a Spark version bump
## Workflow Overview
1. **Inventory & Impact Analysis** — Scan the codebase and assess scope
2. **Build File Updates** — Bump Spark/Scala/Java dependencies
3. **API Migration** — Replace deprecated and removed APIs
4. **Configuration Migration** — Update Spark config properties
5. **SQL & DataFrame Migration** — Fix query-level breaking changes
6. **Test Validation** — Compile, run tests, verify results
---
## Phase 1: Inventory & Impact Analysis
Before changing any code, assess what needs to change. Read the official Apache Spark migration guide for the target version — it documents every API removal, config rename, and behavioral change per release:
https://spark.apache.org/docs/latest/migration-guide.html
### Checklist
- [ ] Read the migration guide section for the target Spark version
- [ ] Identify current Spark version (check `pom.xml`, `build.sbt`, `build.gradle`, or `requirements.txt`)
- [ ] Identify target Spark version
- [ ] Search for deprecated APIs: `grep -rn 'import org.apache.spark' --include='*.scala' --include='*.java' --include='*.py'`
- [ ] List all Spark config properties: `grep -rn 'spark\.' --include='*.conf' --include='*.properties' --include='*.scala' --include='*.java' --include='*.py' | grep -v 'test'`
- [ ] On Windows PowerShell, use `Get-ChildItem -Recurse -Include *.scala,*.java,*.py | Select-String 'import org.apache.spark'` and adjust the extensions/pattern for config searches.
- [ ] Check for custom `SparkSession` or `SparkContext` extensions
- [ ] Identify connector dependencies (Hive, Kafka, Cassandra, Delta, Iceberg)
- [ ] Document findings in `spark_upgrade_impact.md`
### Output
```
spark_upgrade_impact.md # Summary of affected files, APIs, and configs
```
---
## Phase 2: Build File Updates
Update dependency versions and resolve compilation.
### Maven (`pom.xml`)
```xml
<!-- Update Spark version property -->
<spark.version>3.5.1</spark.version> <!-- or 4.0.0 -->
<scala.version>2.13.12</scala.version> <!-- Spark 3.x: 2.12/2.13; Spark 4.x: 2.13 -->
<!-- Update artifact IDs if Scala cross-version changed -->
<artifactId>spark-core_2.13</artifactId>
<artifactId>spark-sql_2.13</artifactId>
```
### SBT (`build.sbt`)
```scala
val sparkVersion = "3.5.1" // or "4.0.0"
scalaVersion := "2.13.12"
libraryDependencies += "org.apache.spark" %% "spark-core" % sparkVersion
libraryDependencies += "org.apache.spark" %% "spark-sql" % sparkVersion
```
### Gradle (`build.gradle`)
```groovy
ext {
sparkVersion = '3.5.1' // or '4.0.0'
}
dependencies {
implementation "org.apache.spark:spark-core_2.13:${sparkVersion}"
implementation "org.apache.spark:spark-sql_2.13:${sparkVersion}"
}
```
### PySpark (`requirements.txt` / `pyproject.toml`)
```
pyspark==3.5.1 # or 4.0.0
```
### Checklist
- [ ] Update Spark version in build file
- [ ] Update Scala version if crossing 2.12→2.13 boundary
- [ ] Update Java source/target level if required (Spark 4.x requires Java 17+)
- [ ] Update connector library versions to match new Spark version
- [ ] Resolve dependency conflicts (`mvn dependency:tree` / `sbt dependencyTree`)
- [ ] Confirm project compiles (errors at this stage are expected — they guide Phase 3)
---
## Phase 3: API Migration
Replace removed and deprecated APIs. Work through compiler errors systematically.
### Common Patterns
Consult the official Apache Spark migration guide for the complete list of changes for each version:
https://spark.apache.org/docs/latest/migration-guide.html
#### SparkSession Creation (2.x → 3.x)
```scala
// BEFORE (Spark 1.x/2.x)
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
// AFTER (Spark 2.x+/3.x)
val spark = SparkSession.builder()
.config(conf)
.enableHiveSupport() // if neededFrom OpenHands/extensions, MIT.
More from OpenHands/extensions
- 0.721score
deno
OpenHands
If the project uses deno, use this skill.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
discord
OpenHands
Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
code-simplifier
OpenHands
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
datadog
OpenHands
Query and analyze Datadog logs, metrics, APM traces, and monitors using the Datadog API.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
add-skill
OpenHands
Import an existing skill from a GitHub repository URL into the current workspace.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
add-javadoc
OpenHands
Add comprehensive JavaDoc documentation to Java classes and methods.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
runtime-api-configs
OpenHands
Manage warm sandbox pools on OpenHands Enterprise by driving the runtime-api admin endpoints (list, save, delete warm runtime configurations) from a Python CLI.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
agent-creator
OpenHands
Create file-based sub-agents as Markdown files following the OpenHands SDK format.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
openhands
OpenHands
Unified OpenHands plugin — bundles the OpenHands Cloud CLI, Cloud REST API (openhands-api), Automations (openhands-automation), and Software Agent SDK…
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
agent-readiness-report
OpenHands
Evaluate how well a codebase supports autonomous AI-assisted development.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
release-notes
OpenHands
Generate consistent, well-structured release notes from git history.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
github
OpenHands
Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUB_TOKEN environment variable and GitHub CLI.
SkillAFreshness: A★ 173Claude Code +9
Signals
- Stars
- 173
- Forks
- 118
- Open issues
- 84
- Last commit (this folder)
- Jul 1, 2026 (4 months ago)
- Last release
- Oct 23, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/OpenHands/extensions
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from OpenHands
- 0.721score
agent-readiness-report
OpenHands
Evaluate how well a codebase supports autonomous AI-assisted development.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
openhands
OpenHands
Unified OpenHands plugin — bundles the OpenHands Cloud CLI, Cloud REST API (openhands-api), Automations (openhands-automation), and Software Agent SDK…
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
release-notes
OpenHands
Generate consistent, well-structured release notes from git history.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
runtime-api-configs
OpenHands
Manage warm sandbox pools on OpenHands Enterprise by driving the runtime-api admin endpoints (list, save, delete warm runtime configurations) from a Python CLI.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
add-javadoc
OpenHands
Add comprehensive JavaDoc documentation to Java classes and methods.
SkillAFreshness: A★ 173Claude Code +9 - 0.721score
add-skill
OpenHands
Import an existing skill from a GitHub repository URL into the current workspace.
SkillAFreshness: A★ 173Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get spark-version-upgrade running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
spark-version-upgrade skill. Agent Mart. https://agentmart.dev/skills/openhands-spark-version-upgrade (last updated 2026-10-24)