我正在尝试使用Linux服务器上的bash脚本中的notebook参数运行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字符串参数的情况下工作。
发布于 2019-05-09 22:51:32
我在问题中提供的脚本实际上并不代表我正在运行的脚本。
我实际运行的脚本是这样的:
#!/bin/bash
currentdate=`date +\%Y\%m\%d`
RUNDATE=$(date "--date=${currentdate} - ${stepsize} day" +%Y%m%d)
### this commands works in terminal but not when running script
databricks jobs run-now --job-id 1 --notebook-params '{"param1":"value1", "rundate":"$RUNDATE"}'
### this command works fine in terminal and when running script
databricks runs list问题是将一个变量传递给JSON。
工作版本是这样的:
#!/bin/bash
stepsize=1
currentdate=`date +\%Y\%m\%d`
RUNDATE=$(date "--date=${currentdate} - ${stepsize} day" +%Y%m%d)
echo $rundate
databricks jobs run-now --job-id 263 --notebook-params '{"param1":"value1", "rundate":"'"$RUNDATE"'"}'
databricks runs listhttps://stackoverflow.com/questions/56041977
复制相似问题