Created on 02-27-2024 10:10 PM
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:
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:
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 |
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!