Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用SparkyR将R连接到Spark_R_Apache Spark_Sparklyr - Fatal编程技术网

尝试使用SparkyR将R连接到Spark

尝试使用SparkyR将R连接到Spark,r,apache-spark,sparklyr,R,Apache Spark,Sparklyr,我正在尝试使用SparkyR将R连接到SparkyR 我遵循了rstudio博客上的教程 我试着用 install.packages(“SparkyR”)运行良好,但在另一篇文章中,我发现SparkyR_0.4版本中存在一个bug。因此,我按照说明使用 devtools::install_github(“rstudio/sparkyr”)也很顺利,现在我的sparkyr版本是sparkyr_0.4.16 我按照rstudio教程使用 spark_install(version = "1.6.

我正在尝试使用SparkyR将R连接到SparkyR

我遵循了rstudio博客上的教程

我试着用

  • install.packages(“SparkyR”)
    运行良好,但在另一篇文章中,我发现SparkyR_0.4版本中存在一个bug。因此,我按照说明使用

  • devtools::install_github(“rstudio/sparkyr”)
    也很顺利,现在我的sparkyr版本是sparkyr_0.4.16

我按照rstudio教程使用

spark_install(version = "1.6.2")
当我第一次尝试使用

sc <- spark_connect(master = "local")
然后我下载了winutils.exe并将其放入
C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop\bin
——这在说明中给出

我再次尝试连接到spark

sc <- spark_connect(master = "local",version = "1.6.2")

sc我终于解决了这个问题,我真的很高兴能自己完成这一切。显然,谷歌搜索太多了

问题在于Winutils.exe

R studio未提供放置winutils.exe的正确位置。从我的问题位置复制到粘贴winutils.exe的是C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop\bin

但在谷歌搜索时,我发现会在临时文件夹中创建一个日志文件来检查问题,如下所示

java.io.IOException:在Hadoop二进制文件中找不到可执行文件C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\bin\bin\winutils.exe

日志文件中给出的位置与R Studio建议的位置不同:)最后,在spark日志文件引用的位置插入winutils.exe后,我能够成功连接到SparkyR。。。。。。哇哦!!!!我不得不说,仅仅连接Spark已经过去了3周的时间,但一切都是值得的:)

请注意任何代理

    Sys.getenv("http_proxy")
    Sys.setenv(http_proxy='')

为我做了这个把戏

我省略了前两段——你不必为问问题而道歉。第一个问题似乎是您自己解决的——您至少已经克服了关于需要winutils的错误,所以我不确定这是否真的与此相关。集中精力解决你要解决的问题,即第二个错误。@Caleb:谢谢你复习我的问题。我将删除我最初的评论
Error in force(code) : 
Failed while connecting to sparklyr to port (8880) for sessionid (8982): Gateway in port (8880) did not respond.
Path: C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\bin\spark-submit2.cmd
Parameters: --class, sparklyr.Backend, --packages, "com.databricks:spark-csv_2.11:1.3.0", "C:\Users\rkaku\Documents\R\R-3.2.3\library\sparklyr\java\sparklyr-1.6-2.10.jar", 8880, 8982
Traceback:
  shell_connection(master = master, spark_home = spark_home, app_name = app_name, version = version, hadoop_version = hadoop_version, shell_args = shell_args, config = config, service = FALSE, extensions = extensions)
  start_shell(master = master, spark_home = spark_home, spark_version = version, app_name = app_name, config = config, jars = spark_config_value(config, "spark.jars.default", list()), packages = spark_config_value(config, "sparklyr.defaultPackages"), extensions = extensions, environment = environment, shell_args = shell_args, service = service)
  tryCatch({
gatewayInfo <- spark_connect_gateway(gatewayAddress, gatewayPort, sessionId, config = config, isStarting = TRUE)
}, error = function(e) {
abort_shell(paste("Failed while connecting to sparklyr to port (", gatewayPort, ") for sessionid (", sessionId, "): ", e$message, sep = ""), spark_submit_path, shell_args, output_file, error_file)
})
  tryCatchList(expr, classes, parentenv, handlers)
  tryCatchOne(expr, names, parentenv, handlers[[1]])
  value[[3]](cond)
  abort_shell(paste("Failed while connecting to sparklyr to port (", gatewayPort, ") for sessionid (", sessionId, "): ", e$message, sep = ""), spark_submit_path, shell_args, output_file, error_file)

---- Output Log ----
The system cannot find the path specified.
    Sys.getenv("http_proxy")
    Sys.setenv(http_proxy='')