如何为Spark Job指定集群初始化脚本

时间:2019-09-17 21:12:25

标签: spark-structured-streaming azure-databricks

我的工作需要在群集上执行一些初始化脚本,目前我在创建作业时使用“现有交互式群集”选项,并且已为群集指定了初始化脚本。但这是作为更高的“数据分析工作量”收取的。

是否有一个选项,我可以在作业创建页面中指定“新的自动群集”选项,并且仍然获得针对新群集执行的初始化脚本。我不确定是否建议使用Global Init script,因为并非所有作业都需要这些初始化脚本,所以只有特定类别的作业需要初始化脚本。

1 个答案:

答案 0 :(得分:0)

要微调Spark作业,可以在集群配置中提供自定义Spark配置属性。

要为所有集群设置Spark属性,请创建一个全局初始化脚本:

%scala
dbutils.fs.put("dbfs:/databricks/init/set_spark_params.sh","""
  |#!/bin/bash
  |
  |cat << 'EOF' > /databricks/driver/conf/00-custom-spark-driver-defaults.conf
  |[driver] {
  |  "spark.sql.sources.partitionOverwriteMode" = "DYNAMIC"
  |}
  |EOF
  """.stripMargin, true)

参考:“ Spark Configuration”。

希望这会有所帮助。


如果这回答了您的查询,请同时单击“标记为答案”和“上投票”。而且,如果您还有其他疑问,请告诉我们。