如何从spark shell设置spark.local.dir属性?

时间:2016-11-02 04:46:02

标签: scala apache-spark

我正在尝试使用spark.local.dir从spark-shell设置sc.getconf.set("spark.local.dir","/temp/spark"),但它无效。有没有其他方法可以从sparkshell设置此属性。

2 个答案:

答案 0 :(得分:10)

你不能从里面 shell中做到 - 因为已经创建了Spark上下文,所以本地目录已经设置(并使用)了。当开始 shell时,您应该将其作为参数传递:

./spark-shell --conf spark.local.dir=/temp/spark

答案 1 :(得分:3)

@Tzach Zohar解决方案似乎是正确的答案。

但是,如果你坚持从spark-shell设置spark.local.dir,你可以这样做:

1)关闭当前的火花环境

    sc.stop()

2)更新sc配置,然后重新启动它。

更新后的代码由@ Tzach-Zohar友情提供:

SparkSession.builder.config(sc.getConf).config("spark.local.‌​dir","/temp/spark").‌​getOrCreate())

@Tzach Zohar注意:"但是你得到一个 WARN SparkContext:使用现有的SparkContext,某些配置可能不会生效,这表明这不是推荐的路径采取。