如何通过CLI修改Databricks python_wheel_task的运行参数?
解决Databricks CLI传递python_wheel_task参数的JSONDecodeError问题
你遇到的JSONDecodeError是因为传递给--python-params的参数多嵌套了一层双引号,导致CLI无法正确解析JSON格式。以下是不同Shell环境下的正确写法:
Bash/Zsh(Linux/macOS)
直接用单引号包裹完整的JSON数组字符串即可,不需要额外嵌套双引号:
# 替换所有参数为新数组 databricks jobs run-now --job-id 1111 --python-params '["value1", "value2"]' # 如果需要保留原任务中的第一个参数"command",仅修改第二个参数 databricks jobs run-now --job-id 1111 --python-params '["command", "value1"]'
Windows Cmd/PowerShell
Windows环境下引号转义规则不同,按以下方式处理:
Cmd环境
用双引号包裹JSON数组,内部双引号用^转义:
databricks jobs run-now --job-id 1111 --python-params "[^"value1^", ^"value2^"]"
PowerShell环境
可以用单引号包裹JSON数组(无需转义内部双引号),或者用双引号包裹并转义内部双引号:
# 方式1:单引号包裹(推荐) databricks jobs run-now --job-id 1111 --python-params '["value1", "value2"]' # 方式2:双引号包裹并转义 databricks jobs run-now --job-id 1111 --python-params "[`"value1`", `"value2`"]"
关键说明
--python-params接收的是完整的JSON数组字符串,会直接替换原任务配置中python_wheel_task.parameters的内容。如果只是修改原参数中的某一项,需要写出整个参数数组,不能只传单个修改项。
内容的提问来源于stack exchange,提问作者shalva_t
相关产品推荐
相关产品推荐

