• Kettle解决方案: 第一章ETL入门


    第一章ETL入门

    1.1 OLPT和数据仓库对比

    普通的事务系统和商业智能系统(BI)有什么区别?
    1个独立的普通事务系统也被称为在线事务处理系统(OLTP)
    商业智能系统也常被称为决策支持系统(DSS)

    OLTP和BI数据库最大的区别在于处理的数据量。
    对比
    使用中BI系统也经常作为业务系统的一部分,预先处理好一部分数据提供给业务系统调用并展现。

    1.2 ETL是什么

    ETL是抽取、转换、加载的缩写。含义为从数据源抽取数据加工到数据仓库的一些操作的集合。
    抽取:一般需要连接到不同的数据源
    转换:任何对数据的处理都是转换
    比如以下操作

    加载:将数据加载到目标系统的所有操作(不仅包含目标表)。

    ETL的演化过程
    (1)手动编程时期
    (2)ETL工具(基于自动化代码):根据设计好的工作量自动生成代码。最大的问题是仅限于有限的数据库。
    (3)ETL工具(基于引擎):

    数据仓库和数据集市的区别:
    数据仓库是单一的,大量数据的存储仓库,涉及各种主题和各个业务领域。通常一个数据仓库不能准备终端用户直接访问。
    数据集市可被终端用户直接访问,并且是以数据分析为目的的。
    我们可能基于某几个分析主题的需要,从数据仓库中读取数据建立数据集市。

    ETL的基本构成:
    ETL就像一个业务流程,具有输入,加工,输出等多个环节和处理步骤。

    1.3 ETL,ELT,EII

    ETL: 从1/N个数据源抽取数据,经过1/N步架构,物理存储到目标环境中,目标环境通常是数据仓库。
    ELT: 抽取、加载、转换的简称,与ETL不同的在于数据整合的方法上略有不同:抽取数据到目标数据库后再转换。
    而ETL是抽取,转换后在加载到目标环境。
    另外的不同,ELT需要知道使用目标数据库对应的SQL方言。

    EII: 虚拟数据整合,无需将数据复制到或移动到数据仓库。不需要额外存储,数据永远都是最新的。
    比较如下

    1.4 挑战

    数据整合的挑战在于 1需要对业务的理解 2技术的要求。

    其他部分:Kettle是作者使用java基于敏捷方法迭代开发完成的工具。

    1.5 ETL工具的功能

    1 连接到数据源(db,文本,xml,excel),支持FTP,ssh方式获取数据
    2 能运行在不同平台
    3 支持集群,支持将数据根据要求进行分发处理,支持并发(复制:1份数据复制后处理 2分发:1数据分多份给不同处理)
    4 扩展性
    5 数据转换:ETL很大一部分工作是数据转换。在输入和输出之间可能需要如下的数据转换操作:
    效验、合并、转置、克隆、排重、过滤、删除、聚集、条件分割、替换、、缓慢变更纬度等。Kettle甚至还支持树形自关联这样的表的数据的加载转换(oracle的Connect by prior)。
    6 测试
    7 日志和审计
    8 血统和影响分析 (血统的含义:从数据追溯到其对应的元数据)






  • 相关阅读:
    Java 泛型 泛型的约束与局限性
    Java 泛型 泛型方法
    Java 泛型 泛型数组
    Java 泛型 协变性、逆变性
    Java 泛型 协变式覆盖和泛型重载
    Java 泛型 泛型代码和虚拟机
    Insertion Sort List
    Remove Duplicates from Sorted List II
    String to Integer (atoi)
    SpringMvc源码入门
  • 原文地址:https://www.cnblogs.com/redcoatjk/p/9204349.html
Copyright © 2020-2023  润新知