如何在本地向 spark master 运行 提交作业
How to submit jobs to spark master running locally
我正在使用 R 和 spark 运行 一个测试 spark 的简单示例。
我在本地有一个 spark master 运行ning,使用以下方法:
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)
现在 运行 可以正常执行以下操作(代码保存为 'sparkcode'):
Rscript sparkcode.R
问题:
但是创建了一个新的 spark 实例,我希望 R 使用现有的主实例(应该将其视为已完成的工作 http://localhost:8080/#completed-app)
P.S:使用 Mac OSX、spark 2.1.0 和 R 3.3.2
一些事情:
- 如果您使用独立集群,请使用正确的 url,应该是
sparkR.session(master = "spark://hostname:port")
。主机名和端口均取决于配置,但标准端口为 7077,主机名应默认为 hostname
。这是主要问题。
- 避免直接使用
spark-class
。这就是 $SPARK_HOME/sbin/
脚本的用途(如 start-master.sh
)。没有关键的,但为您处理繁琐的工作。
- Standalone master 只是资源管理器。您还必须启动工作节点 (
start-slave*
)。
- 通常使用
bin/spark-submit
更好,尽管在这里应该没有太大关系。
spark-csv
在 Spark 2.x 中不再是必需的,即使是 Spark 2.1 默认也使用 Scala 2.11。更不用说 1.0.3 非常旧了(比如 Spark 1.3 左右)。
我正在使用 R 和 spark 运行 一个测试 spark 的简单示例。
我在本地有一个 spark master 运行ning,使用以下方法:
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)
现在 运行 可以正常执行以下操作(代码保存为 'sparkcode'):
Rscript sparkcode.R
问题:
但是创建了一个新的 spark 实例,我希望 R 使用现有的主实例(应该将其视为已完成的工作 http://localhost:8080/#completed-app)
P.S:使用 Mac OSX、spark 2.1.0 和 R 3.3.2
一些事情:
- 如果您使用独立集群,请使用正确的 url,应该是
sparkR.session(master = "spark://hostname:port")
。主机名和端口均取决于配置,但标准端口为 7077,主机名应默认为hostname
。这是主要问题。 - 避免直接使用
spark-class
。这就是$SPARK_HOME/sbin/
脚本的用途(如start-master.sh
)。没有关键的,但为您处理繁琐的工作。 - Standalone master 只是资源管理器。您还必须启动工作节点 (
start-slave*
)。 - 通常使用
bin/spark-submit
更好,尽管在这里应该没有太大关系。 spark-csv
在 Spark 2.x 中不再是必需的,即使是 Spark 2.1 默认也使用 Scala 2.11。更不用说 1.0.3 非常旧了(比如 Spark 1.3 左右)。