通过 init 脚本设置和使用环境变量
init 脚本有权访问群集上存在的所有环境变量。 Azure Databricks 设置了许多在 init 脚本逻辑中实用的默认变量。
Spark 配置中设置的环境变量可用于 init 脚本。 请参阅环境变量。
默认情况下,哪些环境变量会向 init 脚本公开?
群集范围和全局 init 脚本支持以下环境变量:
DB_CLUSTER_ID
:运行脚本的群集的 ID。 请参阅群集 API。DB_CONTAINER_IP
:运行 Spark 的容器的专用 IP 地址。 Init 脚本在此容器内运行。 请参阅群集 API。DB_IS_DRIVER
:脚本是否在驱动程序节点上运行。DB_DRIVER_IP
:驱动程序节点的 IP 地址。DB_INSTANCE_TYPE
:主机 VM 的实例类型。DB_CLUSTER_NAME
:要在其上执行脚本的群集的名称。DB_IS_JOB_CLUSTER
:是否创建群集来运行作业。 请参阅配置作业的计算。
例如,如果只想在驱动程序节点上运行脚本的一部分,则可以编写如下脚本:
echo $DB_IS_DRIVER
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
<run this part only on driver>
else
<run this part only on workers>
fi
<run this part on both driver and workers>
在 init 脚本中使用机密
引用机密时,可以使用任何有效的变量名称。 对环境变量中引用的机密的访问权限由配置群集的用户的权限确定。 存储在环境变量中的机密可供群集的所有用户访问,但已经过编修,不以明文显示。