持续集成最佳实践_开发数据集成管道的最佳实践

持续集成最佳实践

数据集成管道平台将数据从源系统移动到下游目标系统。 因为数据管道可以交付关键任务数据并用于重要的业务决策,所以无论您是通过脚本,数据集成和ETL(提取转换和加载)平台,数据准备技术还是实际实施,都必须确保其准确性和性能。实时数据流架构。

在实现数据集成管道时,应在设计阶段初期考虑几种最佳实践,以确保数据处理功能强大且可维护。 无论您是否对其进行形式化,这些数据管道中都有一个继承服务级别,因为它们会影响报表是按计划生成还是应用程序为用户提供了最新数据。 IT部门也不断需要进行增强,以支持新的数据需求,处理不断增长的数据量并解决数据质量问题。

[InfoWorld的要点: 如何选择正确的数据集成工具Cosmos DB如何确保全球云中的数据一致性 | 通过InfoWorld大数据和分析报告时事通讯深入了解分析和大数据。 ]

如果您在IT领域工作了足够长的时间,那么在数据管道方面,您可能已经看到好事,坏事和丑陋之处。 弄清楚为什么将数据管道作业编写为没有文档,日志记录或错误处理的单个数百行数据库存储过程时失败的原因并不容易。 因此,在设计新的数据管道时,请考虑一些最佳实践,以避免产生如此丑陋的结果。

将模块化设计原则应用于数据管道

作为数据管道开发人员,您应该考虑管道的体系结构,以便它们对将来的需求灵活,并在出现问题时易于评估。 您可以将流水线模块化为构建块,每个块处理一个处理步骤,然后将处理后的数据传递到其他块。 来自Informatica,Talend和IBM等供应商的ETL平台提供了可视化的编程范例,可以轻松地将构建块开发为可重用的模块,然后将其应用于多个数据管道。

CharityNavigator.org的全栈开发人员Moustafa Elshaabiny一直在使用IBM DataStage来自动化数据管道。 他说:“以模块化的方式构建数据管道并参数化关键环境变量已帮助我们识别和修复快速有效地出现的问题。 模块化使解决问题变得更加容易,而参数化则使测试更改和重新运行ETL作业的速度大大提高。”

其他常规软件开发最佳实践也适用于数据管道:

  • 应该在配置文件和其他工具中设置环境变量和其他参数,以便轻松地根据运行时需要配置作业。
  • 基础代码应该进行版本控制,最好是在标准版本控制存储库中。
  • 应该使用CI / CD管道调试用于开发,测试,生产和灾难恢复的单独环境,以自动化代码更改的部署。

验证整个管道中数据的准确性

在块和模块中处理数据以保证强大的管道还不够。 数据源可能会更改,并且基础数据可能会在运行时出现质量问题。 为确保管道牢固,应在每个块中混合使用日志记录,异常处理和数据验证。

在数据管道中实施数据验证时,应决定如何处理行级数据问题。 如何处理失败的数据行取决于数据的性质及其在下游的使用方式。 如果下游系统及其用户期望一个干净的,满载的数据集,则可能需要停止管道,直到解决一行或多行数据的问题为止。 但是,如果下游使用情况更能容忍增量数据清理工作,则数据管道可以将行级问题作为异常处理,并继续处理具有干净数据的其他行。

许多数据集成技术都具有附加的数据管理功能。 这样,您就可以将数据异常路由到知道如何解决问题的指派给数据管理员的人员。 然后,这些工具允许固定的数据行重新输入数据管道并继续进行处理。

如果您使用的是数据流体系结构 ,则可以使用其他选项来处理实时数据时提高数据质量。 DataMatics的执行副总裁兼人工智能和认知科学负责人Sanjeet Banerji建议,“ Spark Streaming等平台中的内置功能提供了机器学习功能,可以创建一组真正的数据清洗模型。”

建立测试流程以验证更改

在某个时候,可能会要求您对数据管道进行增强,提高其强度或对其进行重构以提高其性能。 您将实施所需的更改,然后将其投入生产之前,需要考虑如何验证实施。

有什么问题吗? 大量:您可能会无意中更改过滤器并处理错误的数据行,或者用于处理一列或多列数据的逻辑可能存在缺陷。

考虑如何测试您的更改。 一种方法是让稳定的数据集在管道中运行。 使用已定义的测试集,您可以在测试环境中使用它,并将通过数据管道的生产版本运行它与第二次与新版本运行进行比较。 然后,您可以比较两次运行的数据,并验证是否期望数据的行和列有任何差异。

工程师数据管道可满足各种操作要求

数据管道可能易于构思和开发,但是它们通常需要进行一些规划以支持不同的运行时要求。

首先,考虑到数据管道可能需要灵活性来支持完整的数据集运行,部分数据集运行和增量运行。 首次使用数据管道时可能需要全面运行,如果数据源或下游需求发生重大变化,也可能需要完整运行。

有时,进行部分数据运行很有用。 也许数据管道正在处理交易数据,并要求您通过管道重新运行特定年份的数据。 强大的数据管道应能够重新处理部分数据集。

许多数据管道的稳定状态是在任何新数据上增量运行。 这意味着数据源或数据管道本身可以识别并运行此新数据。

由于数据管道可能要处理的数据负载各不相同,并且可能并行运行多个作业,因此考虑基础架构的弹性非常重要。 在云基础架构上运行数据管道提供了一些灵活性,可以增加资源以支持多个活动作业。 如果您的数据管道技术支持作业并行化,请使用工程数据管道来利用此功能进行可能需要处理更大数据集的全部和部分运行。

翻译自: https://www.infoworld.com/article/3317703/best-practices-for-developing-data-integration-pipelines.html

持续集成最佳实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值