ETL反模式:忽略日志记录

在我的上一个ETL Antipatterns帖子中,我写到了有关ETL反兴奋但非常必要的工作 记录ETL流程。 ETL操作的日志记录与文档一样令人着迷,但在支持数据移动和转换过程中同样重要。

在这篇文章中,我’将讨论ETL流程管理中的常见错误:忽略日志。

什么是ETL日志记录?

ETL流程日志记录是对数据移动和转换期间生成的日志数据的配置和管理。简而言之,ETL日志记录捕获 数据加载历史统计.

以下是ETL流程日志中收集的一些详细信息类型:

  • 加载过程开始和完成的时间
  • 过程的结果(成功或失败)
  • 每个步骤中处理的行数
  • 任何错误或警告消息

ETL日志记录具有几个有价值的目的:

  • 这样可以更轻松地监视一段时间内的过程持续时间
  • 它使您能够测量数据量随时间的增长
  • 如果发生故障或异常,它可以提供一系列证据

一个好的ETL日志记录设计需要两件事:记录ETL流程的每次调用,并定期查看这些日志以查找异常,增长模式以及其他可能需要更改的提示。

ETL反模式:忽略日志记录

因为记录没有’如果不向ETL流程添加任何功能,则ETL体系结构的这一必要部分通常会被忽略。如果没有良好的日志记录信息,就无法轻松地确定流程运行了多长时间,流程的哪些部分更容易出现故障,或者发生故障时的第一步。

尽管没有有效的日志记录策略,ETL流程确实可以并且运行得很好,但这无疑是良好的ETL设计的反模式。无法设置和监视ETL日志数据意味着您将处理任何以反应方式而不是主动方式出现的问题。未经监控的ETL流程倾向于在最不方便的时间发展问题(您好,新年时凌晨4点叫醒)’s Day!), so you’尽早解决所有潜在的问题,将会更好地为您服务。

创建有效的ETL日志记录策略

每个组织都是不同的,所以那里’没有任何一套策略可以在任何地方都有效。但是,有一些通用准则可用于构建ETL日志记录策略。

确保为每个ETL进程配置了正确的日志记录

什么是 正确记录?与一切一样,这取决于。某些过程仅要求您在每次加载开始和结束时记录其最终状态。和别人一起,你’我想收集行计数信息以跟踪数据量。还有一些可能需要详细的信息和进度消息以进行适当的审核。

一些ETL工具将要求您为每个进程设置日志记录。其他,包括SQL Server集成服务, 默认情况下记录一定数量的信息,并允许您 根据需要自定义。请注意您的ETL软件如何处理日志,并进行相应配置。

监视日志数据

如果不这样做,捕获日志数据有什么好处’看不到吗?确保您有计划以编程方式或手动方式定期查看日志中的信息。唐’只是寻找负载故障;查看详细信息,例如数据增长,负载运行时间增加以及在更改成为问题之前主动解决更改的任何警告。

发送关键事件的通知

对于某些记录的事件,您’我想立即通知支持人员。这里肯定会想到加载失败,但是不要’别忘了查看其他非故障异常,例如单次加载中的行计数不匹配或错误行的百分比很高。使用日志中捕获的信息为需要快速解决的事件发送通知。

关于作者

Tim Mitchell
Tim Mitchell is a 数据架构师和顾问 专门研究摆脱数据痛点的人。 在数据仓库,ETL,报告或以下方面需要帮助 训练?如果是这样, 联系蒂姆 进行30分钟的无义务聊天。

成为第一个发表评论的人 在“ ETL反模式:忽略日志记录”

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.