一段时间以来,我使用sparklyr
包使用以下代码连接到公司的Hadoop集群:
library(sparklyr)
Sys.setenv(SPARK_HOME="/opt/spark/")
Sys.setenv(HADOOP_CONF_DIR="/etc/hadoop/conf.cloudera.yarn")
Sys.setenv(JAVA_HOME="/usr/lib/jvm/jre")
system('kinit -k -t user.keytab user@xyz')
sc <- spark_connect(master="yarn",
config = list(
default = list(
spark.submit.deployMode= "client",
spark.yarn.keytab= "user.keytab",
spark.yarn.principal= "user@xyz",
spark.executor.instances= 20,
spark.executor.memory= "4G",
spark.executor.cores= 4,
spark.driver.memory= "8G")))
一切正常,但是当我尝试使用类似代码添加
rsparkling
包时:library(h2o)
library(rsparkling)
library(sparklyr)
options(rsparkling.sparklingwater.version = '2.0')
Sys.setenv(SPARK_HOME="/opt/spark/")
Sys.setenv(HADOOP_CONF_DIR="/etc/hadoop/conf.cloudera.yarn")
Sys.setenv(JAVA_HOME="/usr/lib/jvm/jre")
system('kinit -k -t user.keytab user@xyz')
sc <- spark_connect(master="yarn",
config = list(
default = list(
spark.submit.deployMode= "client",
spark.yarn.keytab= "user.keytab",
spark.yarn.principal= "user@xyz",
spark.executor.instances= 20,
spark.executor.memory= "4G",
spark.executor.cores= 4,
spark.driver.memory= "8G")))
我收到错误消息:
我是
spark
和clusters
的新手,不确定现在该怎么做。任何帮助将不胜感激。我的第一个念头是在jar
端缺少sparkling water
的cluster
文件,对吗? 最佳答案
您需要使用苏打水的确切版本号:options(rsparkling.sparklingwater.version = '2.0.5')
或者,您可以直接从http://h2o.ai/download下载Sparkling Version的二进制版本,将其解压缩并替换为以下语句:options(rsparkling.sparklingwater.location = "/tmp/sparkling-water-assembly_2.11-2.0.99999-SNAPSHOT-all.jar")