`

商业智能平台研究(八)

阅读更多
商业智能平台研究(八)  ETL 之metadata
metadata
网上有很多写metadata的文章,如果觉得我没有写清楚,也可以参考一下其他人的文章,
元数据的定义就是:描述数据的数据,你非要问什么描述元数据,还是元数据本身,UML中也有这种概念,只不过是描述的对象不一样罢了。

让我们解释的更加通俗易懂一些吧,在javaSE中也有metadata的概念,最早的就算是JavaDoc了,在5.0之后,Annotation就是大量的使用metadata了,这是关于源代码的数据,具体来说就是关于Java的类、方法、字段等关联的附加数据。这些数据可以被Java的编译器或者其它工具(比如Java IDE 象eclipse+junit一样)来发现和使用。
junit在4.0后也使用了Annotation也算是metadata的一种应用。
可见metadata并不是什么高不可攀的技术,我们时刻都在使用。

再来看看metadata在BI系统上的定义吧 , 如果你觉得下面这段话很无聊,请直接跳过下面这段 。
元数据(Metadata)是关于数据、操纵数据的进程,以及应用程序的结构、意义的描述信息,其主要目标是提供数据资源的全面指南。元数据是描述数据仓库内数据结构和建立方法的数据,可将其按用途分为两类:技术元数据(Technical Metadata)、业务元数据(Business Metadata)和内联映射元数据(Inter-Mapping Metadata)。
技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库的数据,主要包括数据仓库结构的描述(各个主题的定义,星型模式或雪花型模式的描述定义等)、ODS层(操作数据存储ODS .Operation Data Storage)的企业数据模型描述(以描述关系表及其关联关系为形式)、对数据稽核规则的定义、数据集市定义描述与装载描述(包括Cube的维度、层次、度量以及相应事实表、概要表的抽取规则)。另外,安全认证数据也作为元数据的一个重要部分进行管理。
业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够理解数据仓库中的数据。业务元数据包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据来源;系统所提供的分析方法及公式、报表信息。
内联映射元数据(Inter-Mapping Metadata)实现技术元数据与业务元数据的层间映射,使得信息系统的概念模型与物理模型相互独立,使企业的概念、业务模型重组,以及物理模型的变化相互透明。
内联映射元数据从技术上为业务需求驱动、企业数据驱动的双驱动建设模型提供了重要保证,使信息系统的建设具有更高的灵活性与适应性


元数据是跟特定的数据对象有关的,换句话说,talend和kettle的元数据就是不一样的。ETL的元数据就和pentaho report 的元数据不一样,因为他们要描述的东西不一样。这些元数据的存储格式可以有多种,可以储存成XML格式的也可以是放在数据库里面的。事实上这两种最通用的,也是可以互补的两种,没有谁比谁重要之说。
metadata储存在repository的地方,我不知道是不是所有的ETL工具都喜欢这么叫.每个repository都会选用数据库来储存,他们都是按照一定的格式,这些格式最后也是可以变成XML形式的.这是看每个工具的支持程度,kettle 就支持导出到XML格式,其他的工具我就不知道了.

具体解释到kettle来说,metadata就是你定义的每一个动作.kettle的repository里面有如下一些表,我没有列出全部,从表的结构看一下kettle的metadata有哪些
1. R_DATABASE            R_DATABASE_ATIRIBUTE        R_DATABASE_CONTYPE        R_DATABASE_TYPE
2. R_JOB            R_JOB_HOP            R_JOBENTRY            R_JOBENTRY_ATIRIBUTE            R_JOBENTRY_TYPE
3. R_LOG            R_LOGLEVEL
4. R_STEP            R_STEP_DATABASE
5. R_TRANS_ATIRIBUTE        R_TRANS_HOP            R_TRANS_CONDITION
6. R_USER            R_VALUE                R_PERMISSION
7. R_CLUSTER            R_CLUSTER_SLAVE            R_SLAVE
8. R_PARTITION            R_PARTITION_SCHEMA

1 . database的链接信息.在R_DATABASE_TYPE 表里面包含了所有支持的数据库链接信息,一共是25种,算是支持非常的多了.

2. 任务设计部分的表,R_JOB_HOP 是指两个数据之间的链接部分, R_JOBENTRY_TYPE 是目前支持的操作种类,一共有27种,包括Transformation , Job , Shell , Mail , SQL ,FTP ,Table exists ,File Exists , JavaScript , Secure FTP , HTTP , Create File , Delete File , Wait for File , Put a file with SFTP , File Compare , BulkLoad into Mysql , Display Msgbox Info , Wait for , Zip file , XSL Transformatio, BulkLoad from Mysql into File , Abort Job , Get mails from POP , Ping a host , Dummy Job Entry .
其中BulkLoad 只跟Mysql有关,我感觉很奇怪,BulkLoad 是数据库批量处理的方式,大型数据库都是支持的,比如oracle就有sqlloader来支持批量处理,其他的大型数据库应该也有吧,而且在transform里面kettle也有oracle的支持,在任务设计的时候就只有mysql的支持,不知道什么原因.
最后一个Dummy Job Entry 就是什么都不做.

3. Log记录,loglevel 一共有6种,Nothing at all , Minimal loggin , Basic loggin , Detailed loggin , Debugging , RowLevel(very detailed).根据你自己的需要来选择log的级别.

4. 每一步操作的表格与你使用的数据库

5. 转换的定义.一共有70种不同的转化,你不会想看到全部列出来的,其中有几种很有用的,比如DimensionLookup , 它的解释就是"在一个数据仓库里更新一个渐变维,或者在这个维里查询信息.
  还有基于关键字删除记录,
  cuebOutput, 把数据写入一个cube,
  从一个excel文件读数据,执行一个sql脚本,调用数据库的储存过程,
  OraBulkLoader ,调用oracle 的bulk loader to load data ,(应该是指Oracle的SQLLOADER吧).
  ProSAPCONN, 从一个SAP系统取数据.
  MergeRows,合并两个数据流, 并根据某个关键字排序.  这两个数据流被比较,以标识相等的、变更的、删除的和新建的记录.

插一句关于merge的概念,从网上copy下来的:
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
 
6. 用户与权限.一开始建立的用户有两种,admin和guest ,权限有5种,Read only access , Administrator , Use transformations , Use Jobs , Use schemas .

7. pentaho官方网站上面有一个新闻是关于在mysql的
Kettle集群新记录:
最近Kettle集群基于 Amazon Elastic Computing Cloud做了一次测试,单台服务器输出4000 rows/sec ,数据库为MySQL. 如果你发送数据通过sockets从一个master到5个slave servers, 你将获得 5x4000 row inserts/sec。集群的效果非常好.

我个人也做过测试。数据库是oracle 10.2.0.1,内网连接,从一台机器的oracle到本地机器,没有集群,速度也大概是4000 多一点 ,数据量大概是16万。

8 . 数据库分区是数据库的高级特性之一,oracle的XE版和Enterprise版本的有一个差别就是XE版不支持分区。


kettle还支持metadata搜索,可搜索的选项包括步骤,数据库连接和注释 ,可见metadata对于ETL的重要性就是它能够更好的管理你的数据,而不只是让你的数据呆在数据库里面。kettle对与数据库的元数据管理并不是很好,所谓数据库的元数据就比如数据库中表的名字,每一个column的信息,column的长度,每一个表的constrain,index等,而只有提供这些信息的管理才能够将ETL过程做的更好。下一篇介绍ETL质量控制的时候会看到oracle warehouse builder 对于这些数据管理是多么的强大,目前kettle的能力还不能算是非常的强大的。

pentaho平台本身还有一种metadata , 在官方主页上是这么写的:
       pentaho metadata的能力是让管理员定义一个抽象层来显示数据库信息和商业流程,管理员用关系型数据库的表来表现相互之间的关系,为了复杂和含义模糊的数据库表和列而创建商用术语,为特性用户而设定权限参数,指定默认的数据格式,为多种语言部署提供翻译,商业用户可以使用pentaho新的ad hoc query能力查询他们想要的报表,比如订单的数量和按地区排序的客户开销,SQL可以自动取得这些信息。

数据仓库的建模也需要用到metadata, oracle的数据仓库建模就是用的一种叫 Common Warehouse Metamodel 的metadata , CWM提供一个数据仓库的标准让不同的厂商集成和管理他们的数据,CWM建立在开发的标准XMI(XML for Metadata interchange)  XML 和 UML2 作为建模语言。CWM 用UML2 定义一组核心类,这些类分作package(或者叫做子模型submodels),每一个提供一个特定的数据仓库的domain , 比如 Relational , OLAP ,Transformation , CWM 提供一个强大的数据模型来实现数据仓库的Extraction , transformation , loading , integration and analysis   ,没有一个单独的模型能够满足各种应用程序和开发工具的需求,但是CWM 为这些工具提供特定的扩展,它被设计用来支持关于metadata的快速开发,使用户能够通过扩展来满足他们的需求。(上面这段话翻译自http://www.corba.org/vendors/pages/oracleCWM.html , 翻译的不是很好,如果各位有兴趣可以自己去看看)

下一篇介绍ETL的数据质量控制
分享到:
评论

相关推荐

    艾瑞咨询:2019年中国商业智能研究报告

    《2019年中国商业智能研究报告》为艾瑞咨询自主研究发布的商业智能行业研究报告。区别于传统商业智能,本报告聚焦于将人工智能及相关技术用于商业智能决策,梳理核心技术体系与行业应用价值,分类研究典型商业场景及...

    商业数据智能行业数字化转型系列报告:数字决策,中国商业数据智能行业研究.pdf

    商业数据智能行业数字化转型系列报告:数字决策,中国商业数据智能行业研究报告对中国商业数据智能市场的发展前景进行了预测和分析,并对商业数据智能与企业数字化转型的关系进行了阐述。 知识点1:商业数据智能的...

    商业智能解决方案的研究与应用

    ### 商业智能解决方案的研究与应用 #### 一、引言 在企业信息化发展的历程中,随着信息技术的应用日益广泛,企业内部积累了大量的业务数据。这些数据分布在不同的业务系统中,例如企业资源规划(ERP)、客户关系...

    中国商业智能行业研究报告

    中国商业智能行业研究报告2017版覆盖了商业智能和大数据的多个方面,包括技术发展、应用场景、企业案例以及面临的挑战与未来趋势等。报告指出,中国企业在精细化运营方面的需求正在爆发增长,商业智能成为企业从数据...

    论文研究-商业智能解决方案的研究与应用.pdf

    通过商业智能关键技术的研究给出了一个商业智能较为完整的解决方案,并结合项目实践,重点研究了商业智能在航运企业中的应用。最后给出了某航运企业商业智能系统的应用实例。商业智能关键技术若推广于军用舰艇管理,...

    基于SmarteVision的商业智能平台的研究

    基于SmarteVision的商业智能平台的研究 商业智能(Business Intelligence,BI)是指通过数据分析和报表来帮助企业领导做出正确的决策。它通常由数据仓库、查询报表、数据分析、数据挖掘、数据备份和恢复等部分组成...

    2017年中国商业智能行业研究报告

    区别于能够实现海量数据的管理、简单分析与可视化的传统商业智能,艾 瑞的此份商业智能报告将聚焦于人工智能技术如何用于商业智能决策,实 现商业经营的智能化与自动化。 摘要 • 中国企业精细化运营的需求正在爆发 ...

    中国商业智能BI市场研究报告

    中国商业智能BI市场研究报告

    人工智能下“O2O”房屋租赁平台商业模式研究.pdf

    在人工智能技术的推动下,“O2O”房屋租赁平台商业模式的研究展现出新的发展趋势和潜在价值。随着互联网技术的飞速发展,尤其是在移动互联网、大数据、人工智能等领域的技术革新,房屋租赁行业也逐渐由传统模式向...

    2020中国商业智能化发展研究报告.pdf

    ### 中国商业智能化发展研究报告知识点总结 #### 一、引言 - **数字经济的重要性:** 随着互联网技术和信息化基础设施的快速发展,数字经济已经成为中国经济增长的重要驱动力之一。2019年中国数字经济规模达到31.3...

    2010商业智能研究分析报告(超详细)

    2010商业智能研究分析报告(超详细).pdf

    中国商业智能研究报告

    ### 中国商业智能研究报告知识点概览 #### 一、商业智能概述 - **定义与演进**:商业智能(BI, Business Intelligence)的概念最早可追溯至1958年,其核心理念是将企业的现有数据转化为知识,进而支持企业做出明智...

    2020中国商业智能化发展研究报告

    2020中国商业智能化发展研究报告

    2019年中国人工智能商业落地研究报告.pdf

    2. 2019中国人工智能商业落地榜单研究 2.1 2019中国人工智能商业落地初创企业100强榜单 2.2 2019中国人工智能商业落地成熟企业60强及20大巨头 企业榜单 2.3 2019中国人工智能落地投入强度十大城市榜单 3.人工...

    大数据数据仓库商业智能平台设计与实现.pdf

    在当今信息化高速发展的数据时代,大数据和商业智能(BI)已成为企业和研究机构关注的焦点。大数据环境下,企业需要解决如何有效地收集、处理、分析和利用海量数据的问题,以支持决策和业务发展。商业智能平台的设计...

    2022年数字决策:中国商业数据智能行业研究.pdf

    《2022年数字决策:中国商业数据智能行业研究》报告深入探讨了中国商业数据智能行业的现状、发展趋势和市场前景。报告指出,中国商业数据智能市场在行业政策、数字经济、人工智能等多重因素的推动下展现出强劲的增长...

    2021-2025年中国商业智能行业市场发展战略研究报告.pdf

    在商业智能(BI)行业,特别是中国的市场领域,商业智能指的是一系列工具和技术,这些工具和技术能够将数据转换成可理解的信息和知识,以便企业做出更加明智的决策。商业智能的市场战略包括对行业的发展方向、竞争...

    Gartner2020年商业智能和分析平台魔力象限报

    2020年的商业智能和分析平台魔力象限报告聚焦于商业智能(BI)和分析技术的发展趋势、市场定义、以及战略规划假设等多个方面。报告中提到的关键知识点如下: 1. 增强分析(Augmented Analytics)正成为商业智能和分析...

Global site tag (gtag.js) - Google Analytics