【问题标题】:SSIS; Is it better than writing code?SSIS;比写代码好吗?
【发布时间】:2010-11-25 18:30:05
【问题描述】:

我有一个 ETL 项目,其中有很多需要清理的数据。我们正在谈论很多复杂的转换。该过程需要每晚进行,并且必须在一定的时间(10 小时)内完成。为此,ETL 最好使用系统上的所有处理器内核。

在多处理器环境中执行复杂的 ETL 转换会更好:

SSIS

Dot Net Framework 4(让我限定一下。我可以使用实体框架和并行任务编写应用程序来执行所需的复杂数据转换。编写应用程序来执行 ETLing 不是问题,但是我我正在尝试使用最好的工具来完成这项工作。)

我知道这是一个不公平的问题; SSIS 是一种技术,而 dot net 是一种框架,但仍然......

【问题讨论】:

    标签: ssis


    【解决方案1】:

    是的,使用 SSIS 是一件苦差事,我使用它的每个项目都让我惊讶于它所花费的时间比预期的要长。公平地说,我认为任何问题的解决方案最终都可以通过只要有足够的时间来解决。

    使用这两种工具通常需要在每个项目中进行一些研究和学习。了解 .NET 让我深受启发。为使 SSIS 工作而努力使用零散的解决方法和神秘的代码黑客让我感到沮丧。

    在软件编码中,还有什么比读取和写入内存中的变量更基础的呢?在任何语言中它可能有多复杂?对执行这样一项基本任务的内容、时间和地点有多少限制?要找到答案,请在互联网上搜索短语“ssis write to variables in script”。 SSIS 将复杂性提升到一个全新的水平,即使是最简单的操作!如果您必须在数据流任务中写入包变量,上帝会帮助您。

    【讨论】:

      【解决方案2】:

      我会说不。

      我开始编写 ETL 作业,但被第一列数据所阻碍:格式化的日期时间。 SSIS 无法确定它的正面或反面。

      也许您可以花费数周时间试图弄清楚如何说服 SSIS 做您想做的事 - 但完成它会容易得多。

      【讨论】:

        【解决方案3】:

        SSIS 是专门用于完成您提到的工作的工具。它非常适合 ETL 处理,并且内置了许多常见任务;在自定义 .Net 框架中,您必须从头开始编写这些代码。

        【讨论】:

        • 确实,我必须在 .net 中从头开始,但至少我能够做到。我知道 SSIS 可以调用 .net 的东西,但我担心它没有针对并行处理进行优化。
        • SSIS 内置了并行处理,通过使用 MaxConcurrentExecutables 包属性,您可以对此进行一些控制。考虑到您的技能,您的问题是否更多地与您个人使用哪种更好,而不是实际上用于 ETL 解决方案的最佳工具是什么? SSIS 确实有一点学习曲线,但对于这类任务来说是值得的。
        • 问题在于这种性质的 ETL 的最佳工具。我过去只构建了 1 个 ETL,而且是使用 .net。我使用 .net 构建了它,因为 DTS 无法进行我需要的复杂转换。那时我也受到我的技能的限制。这一次转换更加复杂,但 SSIS 已经发展。我以前见过使用 SSIS,这似乎是一件苦差事。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-28
        • 2023-03-29
        • 2012-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多