2017-05-04 47 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