我正在为数据工程师考试学习,在练习中,我发现了以下问题:
您正在操作流云数据流管道。您的工程师有一个新版本的管道,有一个不同的窗口算法和触发策略。您希望用新版本更新正在运行的管道。您希望确保更新过程中不会丢失任何数据。你应该怎么做?
在正式文档中:“我们建议您只尝试对管道窗口进行较小的更改,例如更改固定时间或滑动时间窗口的持续时间。对窗口或触发器进行重大更改,如更改窗口算法,可能会对管道输出产生不可预测的结果。”
因此,我不知道答案是A还是D,我认为当我们不想丢失数据时,A更合适。
发布于 2022-03-14 18:19:06
答案是A,因为问题有一个先决条件,即在更新过程中不丢失任何数据。来自更新上的正式文档
替换作业保存来自先前作业的任何中间状态数据,以及当前“正在运行”的前一作业中的任何缓冲数据记录或元数据。例如,在等待窗口解析时,管道中的某些记录可能会被缓冲。
这意味着数据将被临时保存(即缓冲),直到新管道从旧作业状态运行为止。新管道运行后,缓冲数据将发送到新作业。
此外,文档还声明了更新的作业名称必须与以前的工作相匹配,因此它不是B。
发布于 2022-10-26 18:04:31
google文档确实提到,如果窗口或触发算法发生变化,您可能会有不可预测的结果。这个问题确实提到了窗口和触发算法的改变。安全赌注是D。
https://stackoverflow.com/questions/71466902
复制相似问题