我使用R和spark运行一个简单的例子来测试spark。
我有一个使用以下内容在本地运行的spark master:
spark-class org.apache.spark.deploy.master.Master
看到状态页面
代码:
system("spark-submit --packages com.databricks:spark-csv_2.10:1.0.3 --master local[*]")
suppressPackageStartupMessages(library(SparkR)) # Load the library
sc <- sparkR.session(master = "local[*]")
df <- as.DataFrame(faithful)
head(df)
现在,当我执行以下操作时,此功能正常运行(代码保存为&#39; sparkcode&#39;):
Rscript sparkcode.R
问题:
但是会发生一个新的spark实例,我希望R使用现有的主实例(应该将其视为已完成的作业http://localhost:8080/#completed-app)
P.S:使用Mac OSX,spark 2.1.0和R 3.3.2
答案 0 :(得分:1)
许多事情:
sparkR.session(master = "spark://hostname:port")
。主机名和端口都取决于配置,但标准端口为7077,主机名应默认为hostname
。这是主要问题。spark-class
。这是$SPARK_HOME/sbin/
脚本的用途(如start-master.sh
)。对你来说,没有至关重要的但却处理繁琐的小任务。start-slave*
)。bin/spark-submit
,尽管这里不应该太重要。spark-csv
,即使它是Spark 2.1默认使用Scala 2.11。更不用说1.0.3非常老了(比如Spark 1.3左右)。