Rya*_*ter 6 sql-server ssis duplicates duplicate-removal business-intelligence
首先我要说的是,能够从平面文件中获取1700万条记录,推送到远程盒子上的数据库并花费7分钟是令人惊讶的.SSIS真的太棒了.但是现在我有那些数据,如何删除重复数据?
更好的是,我想获取平面文件,从平面文件中删除重复项并将它们放回另一个平面文件中.
我在考虑:
Data Flow Task
亲爱的,这个网站上的每个人都非常了解.
Update: 我找到了这个链接,可能有助于回答这个问题
Cra*_*ren 23
使用排序组件.
只需选择要对加载的行进行排序的字段,在左下角,您将看到一个复选框以删除重复项.此框仅根据排序条件删除任何重复的行,因此在下面的示例中,如果我们仅对第一个字段进行排序,则行将被视为重复:
1 | sample A |
1 | sample B |
Run Code Online (Sandbox Code Playgroud)
我建议使用SSIS将记录复制到临时表,然后创建一个根据您的情况使用Select Distinct或Rank的任务来选择将它们汇总到平面文件并从临时表中删除它们的重复项.最后一步是将临时表中的记录复制到目标表中.
确定重复是SQL擅长的,但平面文件不太适合.在你提出的情况下,脚本容器会加载一行,然后必须将它与1700万条记录进行比较,然后加载下一行并重复...性能可能不是那么好.