Azure data factory 使用Azure数据工厂将带有可变列的CSV导入Sql数据库

Azure data factory 使用Azure数据工厂将带有可变列的CSV导入Sql数据库,azure-data-factory,Azure Data Factory,我正在尝试使用Azure Data Factory将csv文件从blob存储导入sql server数据库。这些csv文件的格式不一致。并非所有csv文件都具有相同的列数 如何检查csv文件中是否存在列,以及该列是否只在SQL Server数据库中插入空值?我假设您使用的是ADF v2 通过单击ADF活动,然后转到“映射”选项卡,您可以看到列的存在,这将使您能够将CSV文件中存在的列映射到输入数据集,并且从中您将能够知道是否有任何缺少的列,因为映射将不符合输入文件中的列 如果您还没有看到任何映射

我正在尝试使用Azure Data Factory将csv文件从blob存储导入sql server数据库。这些csv文件的格式不一致。并非所有csv文件都具有相同的列数


如何检查csv文件中是否存在列,以及该列是否只在SQL Server数据库中插入空值?

我假设您使用的是ADF v2

通过单击ADF活动,然后转到“映射”选项卡,您可以看到列的存在,这将使您能够将CSV文件中存在的列映射到输入数据集,并且从中您将能够知道是否有任何缺少的列,因为映射将不符合输入文件中的列

如果您还没有看到任何映射,那么需要单击Import Schemas以将文件列映射到输入数据集

要在数据库中插入空值,您可以编写一个存储过程并通过ADF调用该存储过程,或者您可以使用默认值将数据库列保持为空,因此,如果该列的文件中不存在数据,那么它将自动将值设为空

如果您还有任何问题,请告诉我

感谢和问候


让我澄清一下。有时我的csv文件根本没有列。因此,ADF给了我一个UserErrorInvalidColumnMappingColumnNotFound错误。好的,但问题是ADF遵循一种数据集格式,因此您必须指定输入数据集中的列数,您的文件应该匹配该数。如我所见,该文件本质上是动态的,没有固定数量的列,您可以使用ADF的动态功能。您必须在复制活动的“translator”部分尝试以下表达式,您可以根据您的用例对其进行调整:@json(activity('FetchingColumnMapping').output.firstRow.ColumnMapping)