We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
数据回填(data backfilling, aka “补数据“)功能适用于如下的应用场景:
假设有一个任务,满足如下条件:
(1) 该任务为周期性调度(例如每天晚上 11:59)。
(2) 该任务的调度运行时间,会决定该任务的输入数据选取范围。
但是当任务被设计完成并发布时,已经超过了预定的开始时间。如图所示:
例如我们需要从 11.1 开始,每天跑一次该任务,但是直到 12.1 开始该任务才完成发布。
此时我们需要制定一个方案,让任务即便超出预定的调度时间,仍可以在 11.1 - 11.30 的输入数据源不缺失的前提下,能够通过补充运行 30 次 taskrun,将 11.1 - 11.30 的预定输出数据补齐。
考虑到任务的运行机制可能分为两种:
(1) 任务以 ”调度的具体时间点“ 作为隐性输入参数之一,输入数据的选取和该时间点有关。
(2) 任务以 "时间范围" 作为隐性输入参数之一,输入数据的选取和某个时间段相关。
因此,我们考虑将补数据分为两种方案:
(1) 针对上述第一种情况,需要补充 30 次 taskrun 进入调度队列,每次 taskrun 的预计调度运行时间点作为环境变量参数或者 args 传入。
例如:调度运行 30 次名称为 import_data.sh 的脚本:
第一次:KUN_PLANNED_RUN_TIME="2020-11-01T11:59:00.000Z" ./import_data.sh
第二次:KUN_PLANNED_RUN_TIME="2020-11-02T11:59:00.000Z" ./import_data.sh
第三次:KUN_PLANNED_RUN_TIME="2020-11-03T11:59:00.000Z" ./import_data.sh
以此类推。
(2) 针对上述第二种情况,只需要补充 1 次 taskrun,将期望开始时间、结束时间 11.1 - 11.30 作为额外参数传入,由任务自行处理周期内的数据。
例如:调度运行 1 次名称为 import_data.sh 的脚本:
KUN_PLANNED_RUN_TIME_RANGE_START="2020-11-01T11:59:00.000Z" KUN_PLANNED_RUN_TIME_RANGE_END="2020-11-30T11:59:00.000Z" ./import_data.sh
The text was updated successfully, but these errors were encountered:
JoshOY
No branches or pull requests
设计背景
数据回填(data backfilling, aka “补数据“)功能适用于如下的应用场景:
假设有一个任务,满足如下条件:
(1) 该任务为周期性调度(例如每天晚上 11:59)。
(2) 该任务的调度运行时间,会决定该任务的输入数据选取范围。
但是当任务被设计完成并发布时,已经超过了预定的开始时间。如图所示:
例如我们需要从 11.1 开始,每天跑一次该任务,但是直到 12.1 开始该任务才完成发布。
此时我们需要制定一个方案,让任务即便超出预定的调度时间,仍可以在 11.1 - 11.30 的输入数据源不缺失的前提下,能够通过补充运行 30 次 taskrun,将 11.1 - 11.30 的预定输出数据补齐。
设计方案
考虑到任务的运行机制可能分为两种:
(1) 任务以 ”调度的具体时间点“ 作为隐性输入参数之一,输入数据的选取和该时间点有关。
(2) 任务以 "时间范围" 作为隐性输入参数之一,输入数据的选取和某个时间段相关。
因此,我们考虑将补数据分为两种方案:
(1) 针对上述第一种情况,需要补充 30 次 taskrun 进入调度队列,每次 taskrun 的预计调度运行时间点作为环境变量参数或者 args 传入。
例如:调度运行 30 次名称为 import_data.sh 的脚本:
第一次:KUN_PLANNED_RUN_TIME="2020-11-01T11:59:00.000Z" ./import_data.sh
第二次:KUN_PLANNED_RUN_TIME="2020-11-02T11:59:00.000Z" ./import_data.sh
第三次:KUN_PLANNED_RUN_TIME="2020-11-03T11:59:00.000Z" ./import_data.sh
以此类推。
(2) 针对上述第二种情况,只需要补充 1 次 taskrun,将期望开始时间、结束时间 11.1 - 11.30 作为额外参数传入,由任务自行处理周期内的数据。
例如:调度运行 1 次名称为 import_data.sh 的脚本:
KUN_PLANNED_RUN_TIME_RANGE_START="2020-11-01T11:59:00.000Z" KUN_PLANNED_RUN_TIME_RANGE_END="2020-11-30T11:59:00.000Z" ./import_data.sh
The text was updated successfully, but these errors were encountered: