как составить сценарий работы с базами данных с завершением - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь выполнить задание на Databricks, каждый раз внося небольшие изменения и определяя время, которое требуется каждому.

Когда я запускаю работу через командную строку на удаленном сервере, например databricks jobs run-now --job-id ..., есть ли способ рассчитать время выхода? Могу ли я узнать, когда работа закончится?

Я хочу запустить его в Perl с чем-то вроде (псевдокод):

use Time::HiRes;
foreach my $entry (@entries) {
   my $time1 = Time::HiRes::time();
   system("databricks run-now --job-id ...")
   my $time2 = Time::HiRes::time();
   my $run_time = $time2-$time1;
}

но проблема в том, что команда databricks только отправляет задания, но не возвращает, по крайней мере, насколько я знаю.

1 Ответ

0 голосов
/ 09 января 2019

databricks runs list --job-id <job_id>

Возвращает таблицу со списком информации обо всех запусках для конкретного задания.

Затем для каждого прогона:

databricks runs get --run-id <run_id>

Вернет json с различными метаданными о выполнении задания.

Общая продолжительность прогона представляет собой сумму setup_duration, execution_duration и cleanup_duration. Время указывается в миллисекундах, подробнее см.

https://docs.databricks.com/api/latest/jobs.html

...