Azure Databricks集群Python读取环境变量引号行为突变原因问询
导致该行为突变的可能原因
- Databricks托管侧静默推送了7.3 LTS版本的补丁:虽然7.3 LTS是长期支持版本,Databricks会不定期给托管集群推送安全修复、底层逻辑适配补丁,其中大概率调整了环境变量的解析逻辑——此前集群初始化时会自动剥离环境变量值外层的配对引号,补丁后解析逻辑改为直接透传配置的原始字符串,因此读取结果会携带引号。
- 环境变量注入方式被调整:如果该环境变量是通过初始化脚本注入,即便你侧没有主动修改脚本,同工作区的管理员可能修改了初始化脚本的变量写入逻辑:比如从之前执行
export EXAMPLE_FOO="gaga"(shell执行时会自动去除外层引号),改为直接将原始配置写入/etc/environment等系统环境变量文件(该文件不会自动解析引号,会原样保留内容)。 - Spark配置解析逻辑变更:如果变量是通过
spark.executorEnv.EXAMPLE_FOO这类Spark配置项配置的,Databricks对Spark自定义配置的解析逻辑如果发生调整,此前会自动处理配置值的外层引号,调整后就会直接将带引号的原始值透传到运行时环境。 - 工作区隐藏配置开关被修改:Databricks存在工作区/账号级别的隐藏配置项,用于控制环境变量的解析行为,可能是Databricks侧为了对齐高版本的默认行为,给你所在的工作区修改了该配置开关,直接导致解析逻辑变化。
内容的提问来源于stack exchange,提问作者HeyMan
相关产品推荐
相关产品推荐

