小编kub*_*ubi的帖子

SQL Server 中是否有用于编程 ETL 的标准语言/接口?

我目前正在为我们的数据仓库创建 ETL。我们正在使用 SSIS 2008,但我们遇到了问题,其中最大的问题是重用组件的困难。我们为每个表都有单独的包,每个包都将来自父包的许多变量作为输入。当我们对这些输入变量进行更改时,我们需要进入每个包(我们现在有 15 个左右,但这个数字会显着增加)并修改包以处理这些更改。还有其他问题,包括无法为我们的提取运行任意 SQL,日志记录能力差等。

如果有一种方法可以在代码中开发我们的 ETL,实现代码重用、公共库、更好的单元测试等,那么整个过程会更加健壮。SQL Server是否有事实上的标准 ETL 语言/API?我希望尽可能避免使用 GUI 工具。

编辑:我应该提到我的背景。我不是 DBA,也没有接受过正式(或非正式)的 DBA 培训,我基本上已经了解了这些东西,所以很有可能我正试图用 SSIS 做不适当的事情或接近这个 ETL从错误的角度投射。此外,我目前受雇于州政府,因此任何需要购买新软件包的解决方案都不可能实现。


这是我们的任务之一。我们使用单个 SSIS 包来加载仓库中的每个表。每个 Fact 包和 Dimension 包大体上是一样的,它们只是在

  • 从源数据库中提取
  • 数据流中的操作
  • 合并到目标表

我希望能够做什么(我发现在 SSIS 中很难做到)

  • 从文本文件加载提取查询。当开发人员编写和测试他们的提取查询时,我不应该在 SSIS 运行之前以任何方式操作他们的查询,我不应该将查询剪切并粘贴到 DB 源对象中。
  • 单独测试每个组件。我应该能够独立于其他表负载,独立测试单个表的完整 ETL 过程。
  • 在一处修改共享逻辑,而不必编辑每个单独的包。每个包都以相同的方式将数据加载到审计表中,如果我想更改加载的审计数据,我不想编辑所有 15 个包(随着时间的推移,这个数字会变得更大)。

如果通过正确使用共享代码以编程方式完成,整个过程感觉会更容易实现并且更健壮。

sql-server etl

10
推荐指数
2
解决办法
1768
查看次数

标签 统计

etl ×1

sql-server ×1