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

推荐订阅源

U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
小众软件
小众软件
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
MyScale Blog
MyScale Blog

博客园 - 爱吃糖豆的猪

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子句,它将导致全表扫描