SparkR:无法创建 Spark 会话
SparkR: unable to create the Spark session
我正尝试在 Windows 机器上 运行 SparkR。
我在 R Studio 中 运行 以下命令:
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
这个运行成功了。
我在创建 spark 会话时遇到错误:
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "2g"))
我收到以下错误:
Spark package found in SPARK_HOME: C:\Users\p2\Downloads\spark\spark-2.3.1-bin-hadoop2.7\spark-2.3.1-bin-hadoop2.7
Error in value[[3L]](cond) :
Java version check failed. Please make sure Java is installed and set JAVA_HOME to point to the installation directory.simpleWarning: running command 'C:\Windows\system32\cmd.exe /c C:\Program Files\Java\jre1.8.0_112\bin\java -version' had status 1
我安装了Java 8,也设置了JAVA_HOME
。
问题还是没有解决。我该如何解决?
当我设置 Java 主页和 SPARK_HOME
时,我让 sparklyr 连接到我的 Windows 笔记本电脑
java_path <- normalizePath('C:/Program Files/Java/jre1.8.0_66')
Sys.setenv(JAVA_HOME=java_path)
library(sparklyr)
sc <- spark_connect(master = "local")
设置后JAVA_HOME
library(sparklyr)
sc <- spark_connect(master = "local")
spark_path = sc$spark_home
spark_disconnect(sc)
Sys.setenv(
SPARK_HOME=spark_path
)
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory =
"2g"))
我的问题终于解决了。问题出在我的 JAVA_HOME 路径上,它失败了,因为 Program Files
包含 space。
我将 java 文件夹从 Program Files
复制到另一个文件夹:C:\Users\p2\Downloads\java\jre1.8.0_171
并在 R
程序中将其设置为 JAVA_HOME
。
Sys.setenv(JAVA_HOME="C:\Users\p2\Downloads\java\jre1.8.0_171")
这有效。
您不必将 java 文件夹移动到下载。以下代码对我有用。
Sys.getenv("JAVA_HOME")
[1] "C:\Program Files\Java\jre1.8.0_171"
Sys.setenv("JAVA_HOME" = "C:\Progra~1\Java\jre1.8.0_171")
Sys.getenv("JAVA_HOME")
[1] "C:\Progra~1\Java\jre1.8.0_171"
符号~1
替换了路径上的space。我希望它像我一样工作。
我观察到另一件事,将路径设置为 JRE 或 JDK 文件夹。不再包括 Bin。使用新的 sparkR 版本,它对我有用...
我正尝试在 Windows 机器上 运行 SparkR。
我在 R Studio 中 运行 以下命令:
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
这个运行成功了。
我在创建 spark 会话时遇到错误:
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "2g"))
我收到以下错误:
Spark package found in SPARK_HOME: C:\Users\p2\Downloads\spark\spark-2.3.1-bin-hadoop2.7\spark-2.3.1-bin-hadoop2.7
Error in value[[3L]](cond) :
Java version check failed. Please make sure Java is installed and set JAVA_HOME to point to the installation directory.simpleWarning: running command 'C:\Windows\system32\cmd.exe /c C:\Program Files\Java\jre1.8.0_112\bin\java -version' had status 1
我安装了Java 8,也设置了JAVA_HOME
。
问题还是没有解决。我该如何解决?
当我设置 Java 主页和 SPARK_HOME
时,我让 sparklyr 连接到我的 Windows 笔记本电脑java_path <- normalizePath('C:/Program Files/Java/jre1.8.0_66')
Sys.setenv(JAVA_HOME=java_path)
library(sparklyr)
sc <- spark_connect(master = "local")
设置后JAVA_HOME
library(sparklyr)
sc <- spark_connect(master = "local")
spark_path = sc$spark_home
spark_disconnect(sc)
Sys.setenv(
SPARK_HOME=spark_path
)
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory =
"2g"))
我的问题终于解决了。问题出在我的 JAVA_HOME 路径上,它失败了,因为 Program Files
包含 space。
我将 java 文件夹从 Program Files
复制到另一个文件夹:C:\Users\p2\Downloads\java\jre1.8.0_171
并在 R
程序中将其设置为 JAVA_HOME
。
Sys.setenv(JAVA_HOME="C:\Users\p2\Downloads\java\jre1.8.0_171")
这有效。
您不必将 java 文件夹移动到下载。以下代码对我有用。
Sys.getenv("JAVA_HOME")
[1] "C:\Program Files\Java\jre1.8.0_171"
Sys.setenv("JAVA_HOME" = "C:\Progra~1\Java\jre1.8.0_171")
Sys.getenv("JAVA_HOME")
[1] "C:\Progra~1\Java\jre1.8.0_171"
符号~1
替换了路径上的space。我希望它像我一样工作。
我观察到另一件事,将路径设置为 JRE 或 JDK 文件夹。不再包括 Bin。使用新的 sparkR 版本,它对我有用...