zoukankan      html  css  js  c++  java
  • 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 血统和影响分析 (血统的含义:从数据追溯到其对应的元数据)






  • 相关阅读:
    关于MySQL Server影响ASP.NET网站使用的问题:未能加载文件或程序集MySql.Web.v20
    关于DataGridViewComboBoxColumn的二三事
    我是如何准备高项的
    MyBatis接口式编程
    初识MyBatis之HelloWorld
    Java基础——值传递
    Java基础——接口和抽象类
    Java基础一
    POST和GET的区别
    Python浅拷贝和深拷贝
  • 原文地址:https://www.cnblogs.com/redcoatjk/p/9204349.html
Copyright © 2011-2022 走看看