Community Articles

Find and share helpful community-sourced technical articles.
avatar
Master Collaborator

Spark Scala Version Compatibility Matrix

1. Introduction

Apache Spark being a widely used framework for big data processing, relies heavily on Scala as its primary programming language. Ensuring compatibility between different versions of Spark and Scala is essential for developers to leverage the latest features and optimizations while maintaining stability in their Spark applications

In this article, we'll provide a comprehensive overview of the compatibility matrix between different versions of Spark and Scala, helping developers choose the right combination for their projects.

Key Considerations:

Several factors influence compatibility between Spark and Scala versions:

  • API changes: New features or modifications in Spark APIs might require specific Scala versions for proper compilation and execution.
  • Library dependencies: Third-party libraries used within your Spark application might have compatibility requirements with both Spark and Scala versions.
  • Community support: Older Spark versions might have limited community support and resources, impacting problem-solving and maintenance.

2. Spark Scala Version Compatibility Matrix

Here's a compatibility matrix for Spark and Scala versions:

Spark Version

Supported Scala Binary Version(s)

Cloudera Supported Binary Version(s)

Scala 2.11

Scala 2.12

Scala 2.13

3.5.0

2.12/2.13

2.12

 

2.12.18

2.13.8

3.4.2

2.12/2.13

2.12

 

2.12.17

2.13.8

3.4.1

2.12/2.13

2.12

 

2.12.17

2.13.8

3.4.0

2.12/2.13

2.12

 

2.12.17

2.13.8

3.3.4

2.12/2.13

2.12

 

2.12.15

2.13.8

3.3.3

2.12/2.13

2.12

 

2.12.15

2.13.8

3.3.2

2.12/2.13

2.12

 

2.12.15

2.13.8

3.3.1

2.12/2.13

2.12

 

2.12.15

2.13.8

3.3.0

2.12/2.13

2.12

 

2.12.15

2.13.8

3.2.4

2.12/2.13

2.12

 

2.12.15

2.13.5

3.2.3

2.12/2.13

2.12

 

2.12.15

2.13.5

3.2.2

2.12/2.13

2.12

 

2.12.15

2.13.5

3.2.1

2.12/2.13

2.12

 

2.12.15

2.13.5

3.2.0

2.12/2.13

2.12

 

2.12.15

2.13.5

3.1.3

2.12

2.12

 

2.12.10

 

3.1.2

2.12

2.12

 

2.12.10

 

3.1.1

2.12

2.12

 

2.12.10

 

3.0.3

2.12

2.12

 

2.12.10

 

3.0.2

2.12

2.12

 

2.12.10

 

3.0.1

2.12

2.12

 

2.12.10

 

3.0.0

2.12

2.12

 

2.12.10

 

2.4.8

2.11/2.12

2.11

2.11.12

2.12.10

 

2.4.7

2.11/2.12

2.11

2.11.12

2.12.10

 

2.4.6

2.11/2.12

2.11

2.11.12

2.12.10

 

2.4.5

2.11/2.12

2.11

2.11.12

2.12.10

 

2.4.4

2.11/2.12

2.11

2.11.12

2.12.8

 

2.4.3

2.11/2.12

2.11

2.11.12

2.12.8

 

2.4.2

2.11/2.12

2.11

2.11.12

2.12.8

 

2.4.1

2.11/2.12

2.11

2.11.12

2.12.8

 

2.4.0

2.11/2.12

2.11

2.11.12

2.12.7

 

References:

3. JDK & Scala compatibility

Minimum Scala versions:

JDK Version

Scala 3

Scala 2.13

Scala 2.12

Scala 2.11

22 (ea)

3.3.2

2.13.12

2.12.19

 

21 (LTS)

3.3.1

2.13.11

2.12.18

 

20

3.3.0

2.13.11

2.12.18

 

19

3.2.0

2.13.9

2.12.16

 

18

3.1.3

2.13.7

2.12.15

 

17 (LTS)

3.0.0

2.13.6

2.12.15

 

11 (LTS)

3.0.0

2.13.0

2.12.4

2.11.12

8 (LTS)

3.0.0

2.13.0

2.12.0

2.11.0

4. Conclusion

Ensuring the compatibility between Spark and Scala versions is crucial for the successful development and deployment of Spark applications. By referring to this compatibility matrix, developers can make informed decisions regarding the selection of Spark and Scala versions based on their project requirements and constraints. 

Thank you for taking the time to read this article. We hope you found it informative and helpful in enhancing your understanding of the topic. If you have any questions or feedback, please feel free to reach out to me. Remember, your support motivates us to continue creating valuable content. If this article helped you, please consider giving it a like and providing a kudos. We appreciate your support!

20,719 Views
0 Kudos