首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >databricks-cli:在bash脚本中运行作业时的JSONDecodeError

databricks-cli:在bash脚本中运行作业时的JSONDecodeError
EN

Stack Overflow用户
提问于 2019-05-08 21:29:10
回答 1查看 374关注 0票数 1

我正在尝试使用Linux服务器上的bash脚本中的notebook参数运行Databricks作业。我正在按照docs的说明进行操作,并且我已经验证了这些命令在终端中是否正常工作。

下面是我的脚本:

代码语言:javascript
复制
#!/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

我得到的错误是:

代码语言:javascript
复制
Error: JSONDecodeError: Expecting value: line 1 column 59 (char 58)

同样有趣的是,其他databricks-cli命令可以在不需要JSON字符串参数的情况下工作。

EN

回答 1

Stack Overflow用户

发布于 2019-05-09 22:51:32

我在问题中提供的脚本实际上并不代表我正在运行的脚本。

我实际运行的脚本是这样的:

代码语言:javascript
复制
#!/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。

工作版本是这样的:

代码语言:javascript
复制
#!/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 list
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56041977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档