SparkR:运行spark-submit

时间:2019-06-10 22:49:50

标签: r apache-spark rscript spark-submit pwd

我是Spark的新手,而R是新手,并试图弄清楚在运行spark-submit时如何“包含”其他R脚本。

说我有以下R脚本,它“来源”另一个R脚本:

main.R

source("sub/fun.R")
mult(4, 2)

第二个R脚本如下所示,它位于子目录“ sub”中:

sub / fun.R

mult <- function(x, y) {
   x*y
}

我可以使用Rscript调用它并成功使它起作用。

Rscript file.R
[1] 8

但是,我想在Spark上运行它,并使用spark-submit。当我运行spark-submit时,我需要能够将Spark worker上的当前工作目录设置为包含main.R脚本的目录,以便Spark / R worker进程能够找到“源”文件在“子”子目录中。 (注意:我计划在Spark工作者之间建立一个共享文件系统,以便所有工作者都可以访问这些文件。)

如何设置SparkR在其中执行的当前工作目录,以便它可以发现任何包含的(源)脚本?

或者,是否有一个flag / sparkconfig要提交以设置工作进程的当前工作目录,我可以将其指向包含R脚本的目录?

或者,R是否具有可以设置为在“ R-PATH”中添加条目的环境变量(如果R中不存在此类变量,请原谅我)?

或者,我是否可以使用--files标志进行火花提交以包括这些附加的R文件,如果可以,怎么办?

或者在使用spark-submit运行时,通常是否有更好的方法包含R脚本?

总而言之,我正在寻找一种包含带有spark-submit和R的文件的方法。

感谢您的阅读。任何想法都非常感谢。

0 个答案:

没有答案