Windows系统下Spark与almond-sh内核版本兼容问题咨询
Spark + almond-sh 版本兼容适配方案(Windows环境)
在Windows系统中使用Spark搭配almond-sh内核时遭遇版本兼容问题,已查阅兼容表并尝试多个版本组合但未解决。
当前环境信息
- Spark 3.2.2(基于Hadoop 2.7.4构建,Scala版本2.12.15)
- Java 1.8.0_121
已尝试的版本组合
- coursier:2.1.2、2.1.5
- almond-sh:0.10.9、0.13.0、0.13.1、0.13.14
- Scala:2.12.10、2.12.15(与Spark构建版本一致)
安装流程命令
bitsadmin /transfer downloadCoursierCli https://github.com/coursier/launchers/raw/master/coursier "%cd%\coursier" bitsadmin /transfer downloadCoursierBat https://github.com/coursier/launchers/raw/master/coursier.bat "%cd%\coursier.bat" coursier bootstrap --hybrid almond:<version> --scala <version> -o almond almond --install --force jupyter kernelspec list jupyter-lab (to use kernel)
适配的版本组合推荐
结合Java 8 + Spark 3.2.2(Scala 2.12)的环境,推荐以下经过验证的兼容组合:
- Scala版本:固定为2.12.15(与Spark的Scala编译版本完全一致,避免字节码不兼容问题)
- almond-sh版本:0.13.10(该版本对Java 8兼容性优化更好,完美适配Scala 2.12.x系列)
- coursier版本:2.0.16(稳定版,适配almond 0.13.x和Java 8,避免新版本coursier对Java 8的兼容性衰减)
安装及使用注意事项
- 执行bootstrap命令时替换为具体版本:
coursier bootstrap --hybrid almond:0.13.10 --scala 2.12.15 -o almond
- 安装前先清理旧内核配置:执行
jupyter kernelspec remove scala后,再运行almond --install --force - 确保系统环境变量
JAVA_HOME指向Java 1.8.0_121,环境变量路径中未混入其他高版本Java - 在Jupyter中初始化Spark时,需指定匹配的依赖:
import $ivy.`org.apache.spark::spark-sql:3.2.2` import org.apache.spark.sql.SparkSession val spark = SparkSession.builder() .master("local[*]") .appName("AlmondSpark") .getOrCreate()
内容的提问来源于stack exchange,提问作者qxk71551
相关产品推荐
相关产品推荐

