5

sparklyrR パッケージはYARN 管理の Hadoop クラスターに接続できますか? これは、クラスター展開のドキュメントには記載されていないようです。SparkRSpark に同梱されているパッケージを使用すると、次のように実行できます。

# set R environment variables
Sys.setenv(YARN_CONF_DIR=...)
Sys.setenv(SPARK_CONF_DIR=...)
Sys.setenv(LD_LIBRARY_PATH=...)
Sys.setenv(SPARKR_SUBMIT_ARGS=...)

spark_lib_dir <- ... # install specific
library(SparkR, lib.loc = c(sparkr_lib_dir, .libPaths()))
sc <- sparkR.init(master = "yarn-client")

ただし、上記の最後の行を

library(sparklyr)
sc <- spark_connect(master = "yarn-client")

エラーが発生します:

Error in start_shell(scon, list(), jars, packages) : 
  Failed to launch Spark shell. Ports file does not exist.
    Path: /usr/hdp/2.4.2.0-258/spark/bin/spark-submit
    Parameters: '--packages' 'com.databricks:spark-csv_2.11:1.3.0,com.amazonaws:aws-java-sdk-pom:1.10.34' '--jars' '<path to R lib>/3.2/sparklyr/java/rspark_utils.jar'  sparkr-shell /tmp/RtmpT31OQT/filecfb07d7f8bfd.out

Ivy Default Cache set to: /home/mpollock/.ivy2/cache
The jars for the packages stored in: /home/mpollock/.ivy2/jars
:: loading settings :: url = jar:file:<path to spark install>/lib/spark-assembly-1.6.1.2.4.2.0-258-hadoop2.7.1.2.4.2.0-258.jar!/org/apache/ivy/core/settings/ivysettings.xml
com.databricks#spark-csv_2.11 added as a dependency
com.amazonaws#aws-java-sdk-pom added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
    confs: [default]
:: resolution report :: resolve 480ms :: artifacts dl 0ms
    :: modules in use:
    -----------------------------------------

sparklyrパッケージの代替品ですか、それともパッケージSparkRの上に構築されていSparkRますか?

4

4 に答える 4

5

はい、sparklyr は糸で管理されたクラスターに対して使用できます。糸で管理されたクラスターに接続するには、次のことを行う必要があります。

  1. SPARK_HOME 環境変数を正しい Spark ホーム ディレクトリを指すように設定します。
  2. 適切なマスターの場所を使用して Spark クラスターに接続します。たとえば、次のようになります。sc <- spark_connect(master = "yarn-client")

参照: http://spark.rstudio.com/deployment.html

于 2016-06-29T18:41:00.320 に答える
0

sparklyrこの問題については、バージョン以降へのアップグレードを0.2.30お勧めします。を使用してアップグレードしdevtools::install_github("rstudio/sparklyr")た後、r セッションを再起動します。

于 2016-07-26T07:18:07.867 に答える
0

おそらく Cloudera Hadoop (CDH) を使用していますか?

CDH が提供する Spark ディストリビューションを使用しているときに同じ問題が発生したため、質問しています。

Sys.getenv('SPARK_HOME')
[1] "/usr/lib/spark"  # CDH-provided Spark
library(sparklyr)
sc <- spark_connect(master = "yarn-client")
Error in sparkapi::start_shell(master = master, spark_home = spark_home,  : 
      Failed to launch Spark shell. Ports file does not exist.
        Path: /usr/lib/spark/bin/spark-submit
        Parameters: --jars, '/u01/app/oracle/product/12.1.0.2/dbhome_1/R/library/sparklyr/java/sparklyr.jar', --packages, 'com.databricks:spark-csv_2.11:1.3.0','com.amazonaws:aws-java-sdk-pom:1.10.34', sparkr-shell, /tmp/Rtmp6RwEnV/file307975dc1ea0.out

Ivy Default Cache set to: /home/oracle/.ivy2/cache
The jars for the packages stored in: /home/oracle/.ivy2/jars
:: loading settings :: url = jar:file:/usr/lib/spark/lib/spark-assembly-1.6.0-cdh5.7.0-hadoop2.6.0-cdh5.7.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
com.databricks#spark-csv_2.11 added as a dependency
com.amazonaws#aws-java-sdk-pom added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
    confs: [default]
    found com.databricks#spark-csv_2.11;1.3.0 in central
    found org.apache.commons#commons-csv;1.1 in central
    found com.univocity#univocity-parsers;1.5.1 in central
    found com.

ただし、Databricks (Spark 1.6.1、Hadoop 2.6) からビルド済みのバージョンをダウンロードしてSPARK_HOMEそこにポイントすると、正常に接続できました。

Sys.setenv(SPARK_HOME = '/home/oracle/spark-1.6.1-bin-hadoop2.6') 
sc <- spark_connect(master = "yarn-client") # OK
library(dplyr)
iris_tbl <- copy_to(sc, iris)
src_tbls(sc)
[1] "iris"

ClouderaはまだSparkRディストリビューションに含まれていませんが、. CDH が提供する Spark を操作しようとしたときの結果は次のとおりですが、Github の問題からこのスレッドで提案されているように、引数を使用しています。sparklyrSparkRconfig=list()sparklyr

sc <- spark_connect(master='yarn-client', config=list()) # with CDH-provided Spark
Error in sparkapi::start_shell(master = master, spark_home = spark_home,  : 
  Failed to launch Spark shell. Ports file does not exist.
    Path: /usr/lib/spark/bin/spark-submit
    Parameters: --jars, '/u01/app/oracle/product/12.1.0.2/dbhome_1/R/library/sparklyr/java/sparklyr.jar', sparkr-shell, /tmp/Rtmpi9KWFt/file22276cf51d90.out

Error: sparkr.zip does not exist for R application in YARN mode.

また、Parametersエラーの部分の一番右の部分 (あなたと私の両方) を確認すると、sparkr-shell...への参照が表示されます。

( sparklyr 0.2.28、0.3.15sparkapiRStudio Server、Oracle Linux からの R セッションでテスト済み)

于 2016-07-20T16:20:29.613 に答える