如何使用预拷贝脚本Azure的数据工厂来去除空/特殊字符的行?

问题描述 投票:0回答:2

我从Azure的数据湖移动文件夹内的数据使用Azure的数据工厂(ADF),在SQL Server。

该文件夹包含数百个的.csv文件。然而,与这些CSV的一个不一致的问题是,一些(不是全部)有一个包含特殊字符,它试图加载与比NVARCHAR(MAX)其它数据类型SQL表时将失败最后一行。为了解决这个问题,我得先使用ADF将数据加载到所有列设置为NVARCHAR(MAX)临时表,然后我插不包含特殊字符到具有相应数据类型的表的行。

这是一个每周一次的过程,是在1 TB的数据,它永远需要移动数据,所以我正考虑如何导入到我的决赛桌,而不是一个临时的组成部分。

我注意到,有一个“复制前脚本”字段,可以负载到SQL Server之前执行。我想补充的代码,让我在加载到SQL Server之前,解析出特殊字符或空行。

我不确定如何处理这个,因为CSV的不会被存储在一个表中,因此SQL代码将无法正常工作。我如何能利用复制前脚本加载到SQL Server之前清理我的数据的任何指导?

sql-server azure azure-sql-database azure-data-factory azure-data-lake
2个回答
0
投票

预拷贝脚本是在不改变你摄入的数据复制新数据之前对数据库运行的脚本。

我已经回答了这个关于另外一个问题,使用中间表提供了一个可能的解决方案:Pre-copy script in data factory or on the fly data processing

希望这有助于!


© www.soinside.com 2019 - 2024. All rights reserved.