我正在通过本教程 https://www.linkedin.com/pulse/setting-up-sparkr-windows-machine-ramabhadran-kapistalam 在我的 Windows 8.1 中安装 SparkR。我结束了它,所以我想它实现得很好。
问题是当我尝试使用简单的数据框运行示例时:
Error in handleErrors(returnStatus, conn) :
java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':
at org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession$$reflect(SparkSession.scala:981)
at org.apache.spark.sql.SparkSession.sessionState$lzycompute(SparkSession.scala:110)
at org.apache.spark.sql.SparkSession.sessionState(SparkSession.scala:109)
at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:62)
at org.apache.spark.sql.SparkSession.createDataFrame(SparkSession.scala:552)
at org.apache.spark.sql.SparkSession.createDataFrame(SparkSession.scala:307)
at org.apache.spark.sql.api.r.SQLUtils$.createDF(SQLUtils.scala:139)
at org.apache.spark.sql.api.r.SQLUtils.createDF(SQLUtils.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
这是我在 R 中的代码:
Sys.setenv(SPARK_HOME = "C:/Spark/spark-2.1.1-bin-hadoop2.7")
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"),"R","lib"), .libPaths()))
sparkR.session(appName = "SparkR-DataFrame-example")
df <- as.DataFrame(faithful)
我看到了一个解决方案,我必须通过添加以下内容来配置 sparkr session :
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "1g", spark.sql.warehouse.dir = "file:///somelocaldirectory"))
我试图用数据文件编辑 spark.sql.warehouse.dir 但错误仍然存在
最佳答案
我遇到了完全相同的问题,以管理员身份启动 R-studio 或 R 解决了这个问题。
要以管理员身份启动,右键单击 R-studio 或 R 并选择 run as administrator
,然后您的命令应该可以正常工作。
关于r - 实例化 'org.apache.spark.sql.hive.HiveSessionState' 时出现 SparkR 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43786400/