【发布时间】:2019-05-08 13:29:10
【问题描述】:
我正在尝试在 Linux 服务器上的 bash 脚本中使用笔记本参数运行 Databricks 作业。我正在按照docs 的说明进行操作,并且我已验证这些命令在终端中有效。
这是我的脚本:
#!/bin/bash
### this commands works in terminal but not when running script
databricks jobs run-now --job-id 1 --notebook-params '{"param1":"value1"}'
### this command works fine in terminal and when running script
databricks runs list
我得到的错误是:
Error: JSONDecodeError: Expecting value: line 1 column 59 (char 58)
另外有趣的是,其他 databricks-cli 命令在不需要 JSON 字符串参数的情况下工作。
【问题讨论】:
-
尝试使用 utf-8 语言环境显式运行命令:
LANG=en_US.UTF8 databricks jobs run-now --job-id 1--notebook-params '{"param1":"value1"}'。这行得通吗? -
我尝试将
export LANG=en_US.UTF8添加到脚本中,还尝试在databricks 命令前添加LANG=en_US.UTF8,但仍然出现相同的错误 -
脚本在您在终端中运行的同一主机上运行,对吧? (而不是在容器或虚拟机中,对吧?)
-
正确我在终端 (
./run_script.sh) 中运行脚本,它与我能够成功运行命令的终端相同。当我尝试执行脚本中的命令时,它们只是不起作用。 -
您是否以其他用户身份运行它?
标签: json bash databricks databricks-cli