SSIS Design1: 源数据提取

数据量的大小由两个方面决定:行的宽度和数据行的数量,为了减少ETL运行的时间,可以从源数据的提取上做优化,从数据源的输入上控制数据的质量和大小,减少转换和IO。

一,减少行的宽度

1,只加载需要的数据列

在Data Flow中,源适配器允许选择加载的Table 或View,虽然有复选框,从而过滤掉不需要的数据列,但是,问题是,过滤过程发生Client,换句话说,所有的列从DB中被传递到SSIS 源适配器(产生大量的IO开销),然后在SSIS中删除选中额数据列。建议使用SQL Command,在select 子句中只加载需要的数据列。

2,在提取数据期间将数据转换为窄的数据类型

数据锐化是指将数据值转换为可以充分表示其值的最小数据类型,例如,如果有一个column,数据类型是int,值只有 0 和 1,那么将数据类型转换为bit更好,在64bit系统中,每行的长度至少减少3byte。

3,删掉字符串类型两端的空格

使用ltrim(rtrim(String_Column))

二,减少数据行数

1,使用Where条件,限制返回的数据行数

使用DateTime,row_version等字段来实现增量更新,而不是将重复的数据重复加载

2,使用Where条件,过滤无效的数据

对于一些无效的数据,可以使用where 子句直接过滤,保证进入ETL的都是有效的数据。

三,在提取数据期间

1, 解决幻数

幻数是一个用来表示未知或NULL值的值。在没有NULL的DB中,例如,Column 使用 not null 定义,幻数是必需的。

2,数据排序

在SQL Server中对数据排序,会比在SSIS中使用 sort 转换更高效。

时间: 2024-10-02 17:19:28

SSIS Design1: 源数据提取的相关文章

SSIS 处理NULL

不同于SQL Server中NULL表示值是未知的(Unknown Value),没有数据类型,但是,在SSIS中,NULL是有数据类型的,要获取某一个NULL值,必须指定数据类型,例如,变量 Int32的“NULL值”是 NULL(DT_I4),默认值是0.对于变量和参数,不允许有NULL值,因此,NULL值是指默认值,如果变量或参数的值未被显式设置时,SSIS使用默认值.对于Data Flow组件,SSIS保持源数据的NULL值. 一,Variable和Parameter的默认值 在SSIS

Fuzzy Lookup Transformation Usage

Fuzzy Lookup 预先加载一个Reference表,在执行时,Fuzzy Lookup将源数据提取出来,逐行和Reference表中的每行数据进行模糊匹配,输出匹配程度的指数:相似度和信任度(Similarity and Confidence).Fuzzy Lookup的匹配算法简单描述为:将Reference表中的标准字符串拆分成多个substring(单个字符在字符串中的相对位置不变),只要输入字符串包含任意一个substring,Fuzzy Lookup 就认为匹配成功,按照Fuz

hadoop安装教程

hadoop的核心 Hadoop的核心就是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.要想了解Hadoop,就必须知道HDFS和MapReduce是什么. HDFS HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,适

大数据测试之初识Hadoop

POPTEST老李认为测试开发工程师是面向测试的开发,也就是说,写代码就是为完成测试任务服务的,写自动化测试(性能自动化,功能自动化,安全自动化,接口自动化等等)的case或者开发测试工具完成不同类型的测试.其实自动化测试涉及面非常之广,目前来讲,case基本都可以写成自动化,而性能测试的脚本开发要围绕业务和协议特点来完成开发,并测试完成后依靠软件分析工具对被测试系统进行评估测试. 未来的技术趋势是云测试,大数据测试,安全性测试,这些要完成测试都需要自动化来完成,而自动化测试的case和工具需要

理解深入hadoop 简历就写这个了

Hadoop核心 Hadoop的核心就是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如 HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.要想了解Hadoop,就必须知道HDFS和MapReduce是什么. HDFS HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,适

《Hadoop基础教程》之初识Hadoop

Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程>是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史.核心技术和应用场景有了初步了解. Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 随后在2

后端程序员之路 47、Hadoop hdfs

Hadoop的核心是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.Hadoop Distributed File System,简称HDFS,是一个分布式文件系统.MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型.Hadoop典型应用有:搜索.日志处理.推荐系统.数据分析.视频图像分析.数据保存等. 什么是HDFS及HDFS架构设

一张图看懂MapReduce 架构是如何工作的?

MapReduce架构是Hadoop框架中最核心的设计之一. MapReduce 的思想简单的一句话解释就是"任务的分解与结果的汇总".MapReduce 从名字上来看,两个动词Map 和Reduce, "Map(地图)"就是将一个图分解成为多个子图, "Reduce(缩小)"就是将分解后多任务处理的结果汇总起来,得出最后的分析结果. 通俗说MapReduce 是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步

Hadoop简介

Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 随后在2003年Google发表了一篇技术学术论文谷歌文件系统(GFS).GFS也就是google File System,google公司为了存储海量搜索数据而设计的专用文件系统. 2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS. 2004年G