2017-05-04 50 views
4

我从本教程https://www.linkedin.com/pulse/setting-up-sparkr-windows-machine-ramabhadran-kapistalam的Windows 8.1中安装SparkR。我结束了它,所以我想它很好的实施。 问题是,当我尝试用一​​个简单的数据帧运行一个例子:SparkR实例化'org.apache.spark.sql.hive.HiveSessionState'时发生错误

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但错误依然存在

回答

2

我有完全相同的问题,以管理员身份启动R-studio或R来解决此问题。

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

+0

为我工作...非常感谢! – Tarak