2016-10-17 7 views
2

を使用してスパークするためにRを接続しようとしています。は、私がSparklyrを使用してスパークするためにRを接続しようとしているSparklyr

私は罰金行ってきましたが、別の記事で、私はsparklyr_0.4バージョンにバグがあったことを見た

  • install.packages("sparklyr")を使用してsparklyrをインストールしようとしたrstudioブログからチュートリアル

    を追いました。そこで私は、

  • devtools::install_github("rstudio/sparklyr")を使用してdevバージョンをダウンロードする手順に従いましたが、私のsparklyrバージョンは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でそれを置く - これは、命令に与えられました。

Iが再び火花への接続を試みました。

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

私は最初の2つの段落を省略します。質問をするために謝罪する必要はありません。あなた自身の最初の問題を解決したようです - 少なくともwinutilsが必要であるというエラーを過ぎてしまったので、この時点で本当に関係があるのか​​分かりません。解決しようとしていること、つまり2番目のエラーに注目してください。 – Caleb

+1

@カレブ:私の質問を確認していただきありがとうございます。私は私の最初のコメントを削除します –

答えて

1

私は最終的にこの問題を理解し、自分ですべて行うことができて本当にうれしいです。明らかにたくさんのグーグルがいる。

問題がWinutils.exeしていました。

Rスタジオは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 !!!!私はSparkに接続するだけで3週間の時間がかかったと言わなくてはなりませんが、それだけの価値があります:)

関連する問題