我从终端运行sparkR 2.0.0,我可以运行R命令。但是,如何创建.r脚本并能够在spark会话中运行它。
答案 0 :(得分:7)
SparkR使用标准R解释器,因此适用相同的规则。如果要在当前会话中执行外部脚本,请使用source
函数。
## Welcome to
## ____ __
## / __/__ ___ _____/ /__
## _\ \/ _ \/ _ `/ __/ '_/
## /___/ .__/\_,_/_/ /_/\_\ version 2.1.0-SNAPSHOT
## /_/
##
##
## SparkSession available as 'spark'.
> sink("test.R")
> cat("print(head(createDataFrame(mtcars)))")
> sink()
> source("test.R")
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## 2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## 3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## 4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## 5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## 6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
如果要在现有SparkR会话之外提交独立脚本,则应在脚本本身中初始化所需的上下文。之后,您可以使用SPARK_HOME/bin/spark-submit
(首选选项)或Rscript
执行此操作。