如何完成编写数据块作业脚本
how to script databricks jobs with completion
我正在尝试 运行 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
命令只提交作业,它不会给出 return,至少据我所知是这样。
databricks runs list --job-id <job_id>
将 return table 列出有关特定工作的所有 运行 的信息。
然后对于每个 运行:
databricks runs get --run-id <run_id>
将 return json 包含有关作业的各种元数据 运行。
运行 的总持续时间是 setup_duration
、execution_duration
和 cleanup_duration
的总和。时间以毫秒为单位,要阅读更多内容,请参阅:
https://docs.databricks.com/api/latest/jobs.html
我正在尝试 运行 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
命令只提交作业,它不会给出 return,至少据我所知是这样。
databricks runs list --job-id <job_id>
将 return table 列出有关特定工作的所有 运行 的信息。
然后对于每个 运行:
databricks runs get --run-id <run_id>
将 return json 包含有关作业的各种元数据 运行。
运行 的总持续时间是 setup_duration
、execution_duration
和 cleanup_duration
的总和。时间以毫秒为单位,要阅读更多内容,请参阅:
https://docs.databricks.com/api/latest/jobs.html