如何用完成脚本编写数据块作业

时间:2019-01-09 15:14:31

标签: databricks

我正在尝试在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 :(得分:1)

databricks runs list --job-id <job_id>

将返回一个表格,列出有关特定作业的所有运行的信息。

然后每次运行:

databricks runs get --run-id <run_id>

将返回带有有关作业运行的各种元数据的json。

运行的总持续时间是setup_durationexecution_durationcleanup_duration的总和。时间以毫秒为单位,要了解更多信息,请参见:

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