我正在尝试在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
命令仅提交作业,但至少在我所知的范围内没有返回。
答案 0 :(得分:1)
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