Java ETL体系结构

Java ETL体系结构,java,architecture,etl,Java,Architecture,Etl,我被要求制作一个ETL风格的应用程序,将信息从一个数据源传输到另一个数据源。目前,我决定使用三层体系结构,但我想了解更多关于最佳实践以及本维基百科页面上描述的生命周期的信息: ETL体系结构设计的四层方法 功能层:核心功能ETL处理(提取、转换和加载) 运营管理层:作业流定义和管理、参数、调度、监控、通信和警报 审计、平衡和控制(ABC)层:作业执行统计、平衡和控制、拒绝和错误处理、代码管理 实用层:支持所有其他层的通用组件 现实生活中的ETL循环 典型的真实ETL周期包括以下执行步骤:

我被要求制作一个ETL风格的应用程序,将信息从一个数据源传输到另一个数据源。目前,我决定使用三层体系结构,但我想了解更多关于最佳实践以及本维基百科页面上描述的生命周期的信息:

ETL体系结构设计的四层方法

  • 功能层:核心功能ETL处理(提取、转换和加载)
  • 运营管理层:作业流定义和管理、参数、调度、监控、通信和警报
  • 审计、平衡和控制(ABC)层:作业执行统计、平衡和控制、拒绝和错误处理、代码管理
  • 实用层:支持所有其他层的通用组件
现实生活中的ETL循环

典型的真实ETL周期包括以下执行步骤:

  • 循环起始
  • 构建参考数据
  • 摘录(来源)
  • 证实
  • 转换(清理、应用业务规则、检查数据完整性、创建聚合或分解)
  • 阶段(加载到阶段表中,如果使用)
  • 审计报告(例如,关于业务规则遵从性的报告。此外,在出现故障时,有助于诊断/修复)
  • 发布(到目标表)
  • 档案馆
  • 清理

  • 我不知道你的情况是什么,或者你的要求是什么,但是你可能对这个问题想得太多了

    仅名称就称为“架构”:

    • 提取
    • 转化
    • 装载
    将DB表导出到CSV可以被视为“ET”,而加载CSV则被视为“L”。大多数ETL问题并不复杂

    除此之外,您还应该从Java、免费和商用、库和全船处理系统中已有的100万或200万个ETL和ESB包中挑选一个,并简单地采用您最喜欢的一个

    拿一块白板,用线把一些气泡串在一起,然后把它们转换成代码。

    要回答“最佳实践是什么?”这个问题,答案取决于你试图完成的任务

    为了简化,我们假设您正在执行以下操作之一:

  • 您正在构建一个数据仓库,它将以某种方式重新构造数据
  • 您正在将数据从点A移动到点B,但没有重新构造数据
  • 当我使用“重组”这个词时,我的意思是改变表格的纹理或最低细节级别

    1。您的问题中概述的十个步骤一般都会遵循。一般最佳做法:

    • 将尽可能多的转换逻辑推送到数据库资源上,而不是ETL软件上(ETL软件通常较慢)
    • 验证、转换和审核步骤用于采用组织使用的任何主数据管理(MDM)标准
    两个人。这要简单得多,所以您的问题中列出的任何一种方法都可以使用