SparkR from Rstudio - gives Error in invokeJava(isStatic = TRUE, className, methodName, …) :

限于喜欢 提交于 2019-12-02 02:54:49
golden_truth

If you have not used SparkR library but you're using Spark, I recommend 'sparklyr' library made by RStudio.

  1. Install the preview version of RStudio.

  2. Install the library:

    install.packages("devtools")
    devtools::install_github('rstudio/sparklyr')
    
  3. Load library and install spark.

    library(sparklyr)
    spark_install('1.6.2')
    

You can see a vignette in http://spark.rstudio.com/

All many thanks for your help.

  1. I had to do was set hadoop_home path in PATH variables (winutils/bin). This should have your winutils.exe file. So when it creates metastore for hive default derby) it is able to call hive classes.
  2. Also i had set hive support as False as i am not using it.

Sys.setenv(SPARK_HOME='E:/spark-2.0.0-bin-hadoop2.7/spark-2.0.0-bin-hadoop2.7',HADOOP_HOME='E:/winutils')

.libPaths(c(file.path(Sys.getenv('SPARK_HOME'), 'R', 'lib'),.libPaths()))

Sys.setenv('SPARKR_SUBMIT_ARGS'='"sparkr-shell"')

library(SparkR)
library(rJava)

sparkR.session(enableHiveSupport = FALSE,master = "local[*]", sparkConfig = list(spark.driver.memory = "1g",spark.sql.warehouse.dir="E:/winutils/bin/"))

df <- as.DataFrame(iris)

These are the steps that I did in RStudio and it worked for me:

Sys.setenv(SPARK_HOME="C:\\spark-1.6.1-bin-hadoop2.6")
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))

library(SparkR)
sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)

localDF <- data.frame(name=c("John", "Smith", "Sarah"), age=c(19, 23, 18))
df <- createDataFrame(sqlContext, localDF)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!