2016-10-17 17 views
2

Я пытаюсь подключить R к Spark, используя Sparklyr.Пытается подключить R к Spark с помощью Sparklyr

Я последовал за учебник от rstudio блога

Я попытался установить sparklyr с помощью

  • install.packages("sparklyr") который пошел хорошо, но в другом посте, я увидел, что там была ошибка в sparklyr_0.4 версии. Поэтому я выполнил инструкцию по загрузке dev-версии, используя

  • devtools::install_github("rstudio/sparklyr"), который также прошел отлично, и теперь моя версия sparklyr - sparklyr_0.4.16.

Я следовал rstudio учебника, чтобы загрузить и установить искру с помощью

spark_install(version = "1.6.2") 

Когда я попытался первым подключением к искре с помощью

sc <- spark_connect(master = "local") 

получил следующее сообщение об ошибке.

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

Я, наконец, понял проблему и очень рад, что мог бы все это сделать сам. Очевидно, с большим количеством googling.

Вопрос был с 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.

Но во время поиска в Google я выяснил, что в папке temp будет создан файл журнала, который будет выглядеть как указано ниже.

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 :) Наконец, после вставки winutils.exe в место, указанное в файле искрового журнала, я смог успешно подключиться к Sparklyr ...... wohooooooo !!!! Я должен сказать, что прошло 3 недели, просто соединившись с Спарком, но все это стоит :)

Смежные вопросы