databricks-cli: JSONDecodeError при запуске задания в bash-скрипте - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь запустить задание Databricks с параметрами ноутбука в скрипте bash на сервере Linux.Я следую инструкциям из 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.

1 Ответ

0 голосов
/ 09 мая 2019

Сценарий, который я представил в вопросе, на самом деле не представлял сценарий, который я запускал.

Сценарий, который я запускаю, выглядит примерно так:

#!/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 list
...