RStudio中的SparkR:sparkR.session:10秒后JVM尚未就绪

如何解决RStudio中的SparkR:sparkR.session:10秒后JVM尚未就绪

这真令人沮丧。我花了几天的时间查看所有在stackoverflow和Web上发现的问题,并逐步执行所有说明,但我无法弄清楚。我放弃了... 这是我的错误输出:

Spark package found in SPARK_HOME: C:/spark/spark_3_0_1_bin_hadoop3_2 Launching java with spark-submit command
C:/spark/spark_3_0_1_bin_hadoop3_2/bin/spark-submit2.cmd  
--driver-memory "2g" sparkr-shell C:\Users\user\AppData\Local\Temp\RtmpgT8rjY\backend_port11e45fad26cf 
Error in sparkR.sparkContext(master,appName,sparkHome,sparkConfigMap: JVM is not ready after 10 seconds

(...为什么启动“ spark-submit2.cmd”而不是“ spark-submit”?)

运行此代码后:

> Sys.setenv(SPARK_HOME = "C:/spark/spark_3_0_1_bin_hadoop3_2"
> library(SparkR,lib.loc = c(file.path(Sys.getenv("SPARK_HOME"),"R","lib")))
> sparkR.session(master = "local[*]",sparkConfig = list(spark.driver.memory = "2g"))

到目前为止我所做的:

  1. 检查了最新的JRE版本(JRE_8u271),文件夹的权限和环境路径:一切正常
  2. rtools40-x86_64安装并设置路径,然后在RStudio中找到:C:\ rtools40 \ usr \ bin \ make.exe“
  3. 下载了最后一个预先构建的版本spark-3.0.1-bin-hadoop3.2.tgz,并在拥有所有者许可的情况下将其解压缩到c:\ spark(文件夹名称中没有空格!)),为了安全起见,我已尽可能用下划线_替换了文件夹名称中的所有标点符号请参阅上面的脚本。然后设置环境路径
  4. 检查是否已为C:\ spark \ spark_3_0_1_bin_hadoop3_2设置了所有用户的所有权限:确定
  5. 手动解压缩sparkr.zip(包含在C:\ spark \ spark_3_0_1_bin_hadoop3_2 \ R \ lib中)到我的R库C:\ Program Files \ R \ R-4.0.3 \ library
  6. 下载了winutils for hadoop v 3.0.0,并在C:\ winutils \ bin中解压并设置了路径

通过Windows Prompt成功启动sparkR。我还启动了火花提交,一切正常。

我的环境路径:

  • JAVA_HOME:C:\ Java
  • R_HOME:C:\ Program Files \ R \ R-4.0.3 \ bin \ x64
  • RTools:C:\ rtools40
  • SPARK_HOME:C:\ spark \ spark_3_0_1_bin_hadoop3_2
  • HADOOP_HOME:C:\ winutils
  • 路径:C:\ Program Files \ R \ R-4.0.3 \ bin \ x64; C:\ rtools40; C:\ rtools40 \ mingw64 \ bin; C:\ Java; [...]

我也使用 Sparklyr ,并且效果很好,可以在RStudio中正常连接!但不是 SparkR ...

如何在RStudio中初始化SparkR并使用其功能?

RStudio Version 1.3.1093
> sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)
Matrix products: default
locale:
[1] LC_COLLATE=Italian_Italy.1252  LC_CTYPE=Italian_Italy.1252   
[3] LC_MONETARY=Italian_Italy.1252 LC_NUMERIC=C                  
[5] LC_TIME=Italian_Italy.1252    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
other attached packages:
[1] SparkR_3.0.1
loaded via a namespace (and not attached):
[1] compiler_4.0.3 tools_4.0.3

谢谢 加布里埃尔

解决方法

最后我知道了!

我无法解释为什么,但是我只在Sys.setnev中添加了一个'SPARKR_SUBMIT_ARGS'来读取csv,正如我在Spark 1的一些旧主题中所发现的那样,here并初始化了sparkR会话。

这是我的新代码行:

SPARK_HOME = "C:/spark/spark_3_0_1_bin_hadoop3_2"
Sys.setenv('SPARKR_SUBMIT_ARGS'='"--packages" "com.databricks:spark-csv_2.10:1.4.0" "sparkr-shell"')
library(SparkR,lib.loc = c(file.path(Sys.getenv("SPARK_HOME"),"R","lib"))) 
sparkR.session(master = "local",sparkHome = SPARK_HOME) 

此外,当我在使用read.df函数读取csv时遇到问题时,我更改了不带\ BIN文件夹的hadoop路径,如下所示,现在一切正常:

HADOOP_HOME :C:\ winutils

希望对遇到我同样问题的所有人有用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-