我在 Databricks,那里有一个 Python 笔记本,它从登陆处获取文件,处理它并保存增量表。
此笔记本包含一个参数(time_prm),它允许我对每天到达的不同版本的文件执行此选项。
具体来说,对于每个文件,我将有3个每日版本,命名法如下:file_202401070900、file_202401071200、file_202401071500。
我有一个运行此笔记本的工作流程,但我需要每天安排它 3 次,并且对于每次构建作业,我都需要获取相关文件。
例如,在 0900 时间表中,我需要获取文件版本 file_202401070900,因此我将插入 0900 作为 time_prm 参数。对于文件 file_202401071200 我将插入 1200 等
我可以创建同一工作流程的多个时间表并为每个时间表设置不同的时间参数吗?
您还有其他想法吗?对我来说,我必须创建 3 个不同的工作流程(总的来说,我有许多不同的文件),这似乎很奇怪,所以我想概括我的工作。
感谢您的帮助!
两种选择:
0 9-15/3 * * *
)。time_prm
参数。12:06pm
,则四舍五入为 12:00
并处理 file_202401071200
(即 time_prm
= 1200
)。小问题是自动重试或临时重新处理等。如果 1200 作业由于某种原因失败(比如文件迟到),那么为了支持这种情况(即处理迟到的文件),您可能需要为您的作业支持一些额外的参数(例如文件名)。
0 9 * * *
、0 12 * * *
、0 15 * * *
)。time_prm
参数分别为 0900
、1200
和 1500
。file_20240107XXXX
处理time_prm
。与选项 1 相比,在这种情况下,只要您在同一天执行,后期文件处理或临时重新处理就会更简单。
我个人会选择#1,但是 WFYB。