注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
在搭建管道时,您通常会在多个输出之间使用共享变换节点。这一逻辑通常会为每个输出重新计算一次。通过 Pipeline Builder 中的检查点,您可以将变换节点标记为“检查点”,以在下次搭建时保存中间结果。该检查点节点上游的逻辑将仅为其所有共享输出计算一次,从而节省计算资源并减少搭建时间。
检查点仅在批处理管道中可用。输出必须在同一个任务组中,检查点节点才能提高管道效率。了解更多关于 Pipeline Builder 中的任务组。
以下是一个生成两个输出的示例管道:Attachment
和 Request
。变换节点 Checkpoint
在两个输出之间共享。在这种情况下,逻辑节点 Clean
和 Checkpoint
将被计算两次,每个输出计算一次。
然而,我们希望仅为两个输出计算一次 Clean
和 Checkpoint
。为此,右键单击 Checkpoint
并选择标记为检查点。
此时,Checkpoint
节点的顶部角落将出现一个浅蓝色徽章。
现在,将两个输出添加到同一个任务组以验证检查点行为。右键单击其中一个输出(Request
)以指派任务组。选择新建组以打开搭建设置面板。
由于数据集默认情况下位于不同的任务组中,检查点将为每个输出重新计算,从而抵消任何好处。为了解决这个问题,通过选择输出 Attachment
,然后在面板底部选择添加到组... 将另一个输出添加到同一个任务组。
了解更多关于在 Pipeline Builder 中配置节点的信息,包括 颜色组 和 任务组。
检查点将变换的整个结果推送到存储,例如 Hadoop 分布式文件系统(HDFS)。例如,如果您对一个合并操作进行检查点,则合并的整个结果将输出到存储。这可能导致存储大量数据,即使数据集输出很小。