Databricks R Notebook安装FSelector包失败问题排查
问题根因
FSelector包安装失败的核心触发点是依赖链最底层的rJava包配置报错:Databricks R运行环境自动识别的默认Java路径/usr/lib/jvm/default-java/bin/java为无效路径,Java运行环境校验未通过,连锁导致上层依赖RWekajars、RWeka全部安装失败,最终FSelector安装流程终止。
解决步骤
- 先配置正确的Java环境变量
Databricks标准运行环境默认预装OpenJDK 8,但没有配置default-java软链接,需要在安装包之前手动指定JAVA_HOME路径,在Notebook单元中执行以下代码:# 配置正确的JDK路径 Sys.setenv(JAVA_HOME = "/usr/lib/jvm/java-8-openjdk-amd64") # 验证Java是否可正常调用 system("java -version")如果执行验证步骤时提示路径不存在,先运行
system("ls /usr/lib/jvm/")查看当前集群实际安装的JDK目录名,替换为对应路径即可。 - 逐层安装依赖包
不要直接一次性安装FSelector,需要先逐层验证底层依赖安装正常,依次执行以下安装命令:install.packages("rJava") install.packages("RWekajars") install.packages("RWeka") install.packages("FSelector") - 可选编译问题优化
如果安装源码包过程中出现编译类报错,可以提前配置R优先使用预编译二进制包安装,跳过源码编译环节:options(install.packages.check.source = "no") options(pkgType = "binary")
异常兜底方案
如果配置完JAVA_HOME后加载rJava仍报错,可手动加载JVM动态链接库后再尝试加载包:
dyn.load('/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so') library(rJava)
内容的提问来源于stack exchange,提问作者user228812
相关产品推荐
相关产品推荐

