我有一个ETL项目,有很多需要清理的数据。我们谈论的是很多复杂的转变。这个过程需要每晚进行,并且必须在一定的时间内(10小时)完成。为此,ETL最好使用系统上的所有处理器核心。
在多处理器环境中用于执行复杂ETL转换会更好:
SSIS
或
Dot Net Framework 4(让我对此进行限定。我可以使用实体框架和并行任务编写和应用程序来执行所需的复杂数据转换。编写应用程序来执行ETL不是问题,但是我'我试图使用最好的工具来完成工作。)
我知道这是一个不公平的问题; SSIS是一种技术,点网是一个框架,但仍然......
答案 0 :(得分:3)
是的,与SSIS合作是一件苦差事,我使用它的每个项目都让我感到惊讶的是它比预期花了多长时间。公平地说,我认为大多数问题的解决方案最终都可以使用 给定足够的时间 。
使用任何一种工具通常都需要在每个项目中进行一些研究和学习。了解.NET让我受到了启发。苦苦挣扎的解决方案和神秘的代码黑客使SSIS工作让我感到沮丧。
在软件编码中,什么可能比在内存中读取和写入变量更基本?在任何语言中它可能有多复杂?对执行这样一项基本任务的内容,时间和地点有多少限制?要找到答案,请在互联网上搜索“ssis写入脚本中的变量”这一短语。 SSIS将复杂性提升到一个全新的水平,即使是最简单的操作!如果你必须在数据流任务中写一个包变量,上帝会帮助你。
答案 1 :(得分:1)
我会说不。
我开始编写ETL作业,并被第一列数据阻止:格式化日期时间。 SSIS无法做出正面或反面。
也许你可以花上几周时间试图找出如何说服SSIS做你想做的事情 - 但要完成它就容易得多。
答案 2 :(得分:1)
SSIS是专门用于完成您提及的工作的工具。它是ETL处理的理想选择,内置了许多常见任务;在自定义.Net框架中,您必须从头开始编写代码。