注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
快速调试和解决管道问题的能力是管道维护工作的重要组成部分。这确保了支持重要组织工作流的生产管道保持可靠和有意义。
本页面提供了一个框架,您可以以此为基础制定标准操作程序(SOP),当您在值班轮换期间作为管道维护员收到健康检查失败通知时使用。
本页面假设您熟悉各种Foundry工具和工作流。相关部分将提供链接:
还假设您的管道维护团队记录了一个事件日志或其他文档,用于记录管道中反复出现的问题。这是一个最佳实践,如果当前没有这样的文档,应当实施。
始终按照以下三个问题的顺序进行询问:
阅读您的管道文档!也许这个问题以前已经解决过。或者在缓解过程中可能有警告。例如,某些搭建可能非常昂贵,并可能影响在高峰使用时间段内的环境性能。这类细节应该为您的整个团队记录良好。
在尝试缓解问题后,作为管道维护员,您需要深入了解和解决根本原因。分类问题在调试过程中有帮助,因为它帮助我们识别根本原因,最重要的是,帮助您快速识别是否可以自行修复问题,或者是否需要联系其他团队。
问题分为三类:
详细来说,上述步骤是:
识别: 在执行上述步骤时,重要的是非常精确地识别出什么是出错的。回答以下问题:
这使您能够在需要时有效地与其他团队沟通上游问题和平台问题,并减少解决时间。它还提高了在平台上的调试技能。
操作:
[非必填] 下游用户通信: 上图中未提到的一步是,当问题已被分类并进一步找到根本原因时,可能适合通知管道的下游消费者。这取决于问题的影响、范围、持续时间和管道的应用案例。
变通方案: 如果来自其他团队或用户的修复需要一些时间,可能有必要实施中期变通方案,以确保管道的健康部分继续为下游消费者运行。具体的临时修复取决于问题和用户的需求。示例包括:
作为管道维护员,最常见的问题是由于您监控的管道中某些更改的意外后果引起的。这也是作为管道维护员,您最具控制力的类别,您可以直接修复问题而无需依赖其他团队。
更详细地说,采取的步骤是:
尽可能精确地查找出管道中问题的来源。例如,尝试识别调度、数据集、事务、代码更改等。
将正常的先前运行与当前出错状态进行比较,以识别哪些更改了。 拥有一份问题清单可能会很有帮助。下面是一个示例问题清单,以及一些可能帮助您找到答案的工具示例:
如果您不熟悉Foundry中用于回答上述问题的工具,下面的列表提供了调查期间使用的最常见模式示例。该列表未涵盖所有可能性,而是作为起始指南:
我的任务/搭建是否比平时慢?
搭建应用用于比较给定数据集的任务。在搭建概览的右上方的进度详情切换将允许您查看搭建的进度,按排队时间与计算时间进行区分。
调度指标允许您查看调度的历史运行以及比较运行的指标和图表
我的数据集大小有变化吗?我的变换是否运行了更多数据?
数据集预览:任何Foundry数据集的历史和比较标签提供了数据集历史的概览,并能够与数据集的先前事务进行比较,以获得变更概览。
Contour提供了历史视图来比较使用摘要面板的行数,如果您有一个表示数据添加/创建日期的列,您可以创建图表来比较添加日期与行数。
Spark详情:通过点击任何任务上的Spark详情按钮(见下图),您将能够看到一些信息,例如任务数量
指标,帮助指示管道中是否有更多数据。
我的管道中的代码更改了吗?
我的调度被更改了吗?
如果您不确定基于所看到的症状问题是什么,检查其他任务、搭建或相关平台组件中的类似症状可能是一个有用的调查路径。
特别是,您应该寻找这些问题的答案:
使用搭建应用过滤平台上的任务历史可以帮助您回答上述问题。
快速调试和解决管道问题的能力是管道维护员工作的重要组成部分。这确保了支持重要组织工作流的生产管道保持可靠和有意义。如果您发现自己遵循本页面所述的指南,仍然无法识别手头的问题,请联系您的Palantir代表。