实例化'org.apache.spark.sql.hive.HiveSessionState'时出现SparkR错误

时间:2017-05-04 14:57:20

标签: r apache-spark sparkr

我将从本教程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会话
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "1g", spark.sql.warehouse.dir = "file:///somelocaldirectory"))

我尝试使用数据文件编辑spark.sql.warehouse.dir,但错误仍然存​​在

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,以管理员身份启动R-studio或R解决了这个问题。

以管理员身份启动,右键单击R-studio或R并选择run as administrator然后您的命令应该可以正常工作。