惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
Engineering at Meta
Engineering at Meta
量子位
A
About on SuperTechFans
阮一峰的网络日志
阮一峰的网络日志
Recent Announcements
Recent Announcements
博客园 - 司徒正美
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs
Martin Fowler
Martin Fowler
腾讯CDC
Jina AI
Jina AI
C
Check Point Blog
H
Help Net Security
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
爱范儿
爱范儿
I
InfoQ

博客园 - 爱吃糖豆的猪

Manjaro Samba 设置共享文件夹供Windows访问 【自学Python系列】Python 基础 内部数据结构之列表和元组 【自学Python系列】Python 基础 (字符串,整数,注释) 控制台I/O显示格式化的结果 异步拷贝文件 【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结 如何在Directory.GetFiles()方法中设置多个格式呢? C#操作符??和?: 简单通用的访问CVS的方法 一些概念的随笔(转) 3种思维培养有决策力的孩子 是夫妻就一起把它戒了吧! 一个10年SEO工作者的35个SEO经验 可以让你少奋斗10年的工作经验 如何在一年内拥有十年的工作经验(值得你反复读5遍以上) TreeView 递归选择父节点和子节点 文件操作 C# 中的 ConfigurationManager类引用方法 添加Word,Excel等dll时如何操作。
ETL 解析
爱吃糖豆的猪 · 2014-12-23 · via 博客园 - 爱吃糖豆的猪

extract-transform-load (ETL)
Everyone understands the three letters: You get the data out of its original source location (E), you do something to it (T), and then you load it (L) into a final set of tables for the users to query.
每个人都知道这三个字母:你得到的数据从它的原始位置(E),你对它做些什么(T),然后你把它(L)为查询用户的最终组表。

这里简单列出数据核查阶段的工作项目:
1、数据的唯一标识和键值
2、数据类型
3、数据表之间的关联关系
4、表/字段之间的映射关系,1-1,1-m,m-m
5、null数据
6、日期数据,注意日期数据可能没有存储在日期型字段中,这是日期型数据不同于其他数据类型的一个特点

映射文档应该包括以下内容:
目标表:多维模型中的表名
目标字段:多维模型中表字段
目标列数据类型:
表类型:维度/事实/桥接
缓慢变化维:3类SCD
源数据库:源数据库名/文件路径,
源类型:DBMS类型,文件类型
源表:源表名,可能多个表对应一个DW/DM中的表
源列: 源列名
源列数据类型:
转换规则:定义源信息将经过怎样转换到DW/DM,通常用伪代码描述
一般ETL工具都提供了源与目标的映射功能,但是笔者依然强烈建议单独编制mapping文档,以方便查阅。

开发抽取过程之前需要确定的另一项重要内容就是System-Of-Record(SOR)

提高抽取效率
1、请求DBA在source段对抽取条件字段上创建索引;
2、只抽取需要的数据,需要的数据就是最终会被加载到多维模型的数据,多余的不要提取;
3、慎用Distinct,非常耗时
4、操作数据库时使用集合操作命令,集合概念是数据库的基础理论,努力把非集合的操作转化为集合操作,将充分利用DBMS的长处
5、不要在where条件中使用函数
6、避免使用NOT子句,它将导致全表扫描