2016-10-17 3 views
2

나는 스파크 릴을 사용하여 스파크에 R을 연결하려고합니다. 스파크 릴을 사용하여 스파크에 R 연결 시도

은 내가 잘 갔다하지만 다른 포스트에서, 나는 sparklyr_0.4 버전의 버그가 있다고보고
  • install.packages("sparklyr")

    를 사용하여 설치 sparklyr을 시도 rstudio 블로그

    에서 튜토리얼을 따라 갔다. 그래서 지침을 따라

  • devtools::install_github("rstudio/sparklyr")을 사용하여 dev 버전을 다운로드했는데 이제는 내 스파크 버전이 sparklyr_0.4.16이되었습니다.

나는 내가 처음

sc <- spark_connect(master = "local") 

다음과 같은 오류를 가지고 사용 촉발 연결을 시도 할 때

spark_install(version = "1.6.2") 

사용하여 스파크를 다운로드하고 설치하는 rstudio 튜토리얼을 따라 갔다.

Created default hadoop bin directory under: C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop 
Error: 
To run Spark on Windows you need a copy of Hadoop winutils.exe: 
1. Download Hadoop winutils.exe from: 
    https://github.com/steveloughran/winutils/raw/master/hadoop-2.6.0/bin/ 
2. Copy winutils.exe to C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop\bin 
Alternatively, if you are using RStudio you can install the RStudio Preview Release, 
which includes an embedded copy of Hadoop winutils.exe: 
    https://www.rstudio.com/products/rstudio/download/preview/** 

나는 다음 winutils.exe을 다운로드 C:\Users\rkaku\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop\bin에 배치 - 이것은 명령에 주어졌다.

다시 연결을 시도했습니다.

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

하지만

나는 누군가가 나에게이 문제를 해결하는 데 도움 주실 래요 다음과 같은 오류

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. 

을 얻었다. 나는이 문제에 대해 많은 도움을받지 못하고 지난 2 주간 앉아 있었다. 이 문제를 해결하는 데 도움을 주실 수있는 분들께 진심으로 감사드립니다.

+0

저는 처음 두 단락을 생략했습니다. 질문 할 때 사과 할 필요가 없습니다.첫 번째 문제는 스스로 해결 한 것처럼 보입니다. 적어도 winutils가 필요하다는 오류가 발생 했으므로이 시점에서 이것이 실제로 관련이 있는지 확신 할 수 없습니다. 해결하려고하는 것, 즉 두 번째 오류에 집중하십시오. – Caleb

+1

@ 캐 일럽 : 내 질문을 검토해 주셔서 감사합니다. 내 첫 코멘트를 삭제하겠습니다. –

답변

1

나는 마침내 문제를 알아 냈고, 혼자서 모든 것을 할 수있어서 정말 행복합니다. 분명히 많은 검색 기능이 있습니다.

문제는 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 : 실행 파일 C : \ Users \ rkaku \ AppData \ Local \ rstudio \ spark \ Cache \ spark-1.6.2-bin-hadoop2.6 \ bin \ bin \ winutils를 찾을 수 없습니다. exe Hadoop 바이너리

주어진 위치는 R Studio에서 제안한 위치와 다릅니다 :) 마지막으로 spark 로그 파일이 가리키는 위치에 winutils.exe를 삽입 한 후 Sparklyr에 성공적으로 연결할 수있었습니다 ...... wohooooooo !!!! 나는 3 주간 Spark에 연결했을 때가되었다고 말할 것입니다. 그러나 그만한 가치가 있습니다. :)