我目前正在为我们的数据仓库创建 ETL。我们正在使用 SSIS 2008,但我们遇到了问题,其中最大的问题是重用组件的困难。我们为每个表都有单独的包,每个包都将来自父包的许多变量作为输入。当我们对这些输入变量进行更改时,我们需要进入每个包(我们现在有 15 个左右,但这个数字会显着增加)并修改包以处理这些更改。还有其他问题,包括无法为我们的提取运行任意 SQL,日志记录能力差等。
如果有一种方法可以在代码中开发我们的 ETL,实现代码重用、公共库、更好的单元测试等,那么整个过程会更加健壮。SQL Server是否有事实上的标准 ETL 语言/API?我希望尽可能避免使用 GUI 工具。
编辑:我应该提到我的背景。我不是 DBA,也没有接受过正式(或非正式)的 DBA 培训,我基本上已经了解了这些东西,所以很有可能我正试图用 SSIS 做不适当的事情或接近这个 ETL从错误的角度投射。此外,我目前受雇于州政府,因此任何需要购买新软件包的解决方案都不可能实现。
这是我们的任务之一。我们使用单个 SSIS 包来加载仓库中的每个表。每个 Fact 包和 Dimension 包大体上是一样的,它们只是在
我希望能够做什么(我发现在 SSIS 中很难做到)
如果通过正确使用共享代码以编程方式完成,整个过程感觉会更容易实现并且更健壮。
小智 6
有一个工具可以实现这一点 - http://www.varigence.com/products/biml.html
有一个商业版本,但我们还在 BIDS Helper(一个免费工具)中包含了一些 BIML 功能。http://bidshelper.codeplex.com/
我很乐意回答您对此的任何问题。
这是我公司提供的工具。
小智 6
阅读本文后,我立即想到推荐 Varigence 的工具。但是,我看到 Varigence 的首席架构师之一约翰·韦尔奇 (John Welch) 比我先到这里。
Varigence 的工具是 SSIS 之上的一个抽象层。这样做的好处是能够定义可重用的“东西”,从而提供跨多个包的一致性。您可以定义包的结构以及它们在个体基础上的不同之处——来自 Varigence 工具的“编译”输出是 SSIS 包。
将其视为 SSIS 包的动态 SQL。带有图形用户界面。真的很酷。
归档时间: |
|
查看次数: |
1768 次 |
最近记录: |