下面的数据流任务是该方案临时表VS物理表
我有CSV文件,这是我的线人,我加载到物理临时表,我会在这个临时表中的数据做转换一个临时表在包的后一部分,我需要新的数据(因为它是从源代码)
我应该做的转型,临时表或我应该再次使用数据流任务重新加载临时表
数据心不是更多[微笑]刚不到一百万只
下面的数据流任务是该方案临时表VS物理表
我有CSV文件,这是我的线人,我加载到物理临时表,我会在这个临时表中的数据做转换一个临时表在包的后一部分,我需要新的数据(因为它是从源代码)
我应该做的转型,临时表或我应该再次使用数据流任务重新加载临时表
数据心不是更多[微笑]刚不到一百万只
这是一个标准模式。
这是对ETL的缩写来源于 - http://en.wikipedia.org/wiki/Extract,_transform,_load
你已经是主要的优点,在点1你只有1个线程/用户加载数据,因此可以快速提取数据,然后在第2阶段操纵数据而不会在其他表上产生锁。最后,一旦数据准备就绪,您就可以以最快的方式将其加载到您的实时表中。
你的两个最大的(常常是竞争对手)关注点是简单性和速度。简单性非常好,因为它涉及的代码较少,所需的调试次数较少,使您对数据清理更有信心。有时候为了速度,你不得不牺牲简单性。
对于你的情况,由于你只加载了几百万行,所以我建议你每次重新加载登台表,这样每一个负载都使用相同的ETL进程。这使您的ETL机制易于编码,维护和解释。
仅供参考 - 如果您使用的是SQL Server,请查看SSIS。
thnks 我在包中使用临时表,因为在我的包中有多个其他事物(一个完整的业务过程而不仅仅是ETL)。所以我认为如果我能找到更好的选择,最好避免因临时表而消耗服务器空间(RAM)。所以这个问题。同样如您所说,可维护性也变得更好 – Ashish