我正在使用Azure数据工厂(ADF)将文件夹中的数据从Azure数据湖移动到SQL Server。
该文件夹包含数百个.csv文件。但是,这些csv的一个不一致的问题是,某些(不是全部)具有包含特殊字符的最后一行,当尝试加载到NVARCHAR(MAX)以外的数据类型的sql表时,该行将失败。要解决此问题,我必须首先使用ADF将数据加载到所有表都设置为NVARCHAR(MAX)的登台表中,然后将那些不包含特殊字符的行插入具有适当数据类型的表中。
这是一个每周的过程,数据量超过TB,并且需要永远移动数据,因此我正在研究导入到最终表中的方法,而不是具有暂存组件。
我注意到有一个“预复制脚本”字段,可以在加载到sql服务器之前执行。我想添加代码,使我可以在加载到sql server之前解析出特殊字符或空行。
我不确定如何处理此问题,因为csv不会存储在表中,因此SQL代码不起作用。关于如何在将数据加载到sql服务器之前如何利用预复制脚本清除数据的任何指导?
答案 0 :(得分:0)
预复制脚本是您在复制新数据之前针对数据库运行的脚本,而不是修改要提取的数据。
我已经回答了另一个问题,使用中间表Pre-copy script in data factory or on the fly data processing
提供了可能的解决方案希望这对您有帮助!
答案 1 :(得分:0)