Azure Databricks环境下Smolder项目JAR包安装及导入失败问题咨询
问题修复方案
1 打包报错修复
该报错是因为直接下载源码zip压缩包时,项目目录缺失.git仓库信息,smolder的构建配置默认读取git HEAD提交信息生成版本号,因此触发HEAD不存在的错误。可通过两种方式修复:
- 方案1:通过git拉取完整代码仓库,不要直接下载源码zip包
拉取完成后进入项目目录,切换到适配Spark3.1.x的稳定版本tag,再执行打包命令:
打包成功后,生成的JAR包路径为sbt packagetarget/scala-2.12/smolder_2.12-xxx.jar - 方案2:无需git,直接修改构建配置
打开项目根目录的build.sbt文件,删除所有涉及git版本读取的逻辑,直接硬编码版本号,例如将version相关配置改为:
保存后再执行version := "0.7.0"sbt package即可正常打包。
2 导入报错修复
导入报错是因为Azure Databricks集群未安装smolder依赖,按照以下步骤操作即可修复:
- 方法1:使用自行打包的JAR
将打包生成的smolder_2.12-xxx.jar上传到Azure Databricks工作区,安装到你的8.4版本运行时集群,重启集群后再执行导入语句即可正常运行。 - 方法2:使用Maven预构建包(无需自行打包)
进入Databricks集群的「库」安装页面,选择安装源为Maven,输入对应Scala2.12版本的smolder包坐标,选择适配Spark3.1.x的版本即可,安装完成后重启集群即可正常导入使用。
注意事项
- 必须选择Scala 2.12版本编译的smolder包,与Databricks 8.4运行时的Scala版本匹配,否则会出现类版本不兼容报错
- 依赖安装完成后必须重启集群,新安装的库才会生效
内容的提问来源于stack exchange,提问作者Pfwangs
相关产品推荐
相关产品推荐

