Azure 数据工厂数据流文件接收器

Azure Data Factory data flow file sink

我正在使用 .csv 文件将数据导入 Azure SQL 数据库。数据导入完成后,我现在将源文件从 Source 容器移动到 myArchive 容器。我现在尝试将文件名保存为 SaleData_yyyyMMdd_HHmm.csv,但是,我创建了具有此名称的文件夹并且该文件是分解成多个部分文件(part-00000-,part-00001-,...)。您能否指导我如何使用当前数据和时间戳指定文件名。

文件系统:myArchive

文件夹路径:concat('SalesDepartment/Warehouse1/','SaleData_',toString(currentTimestamp(),'yyyyMMdd_HHmm'),'.csv')

可以直接在接收器数据集中提及文件夹路径。 (注意,我的source和sink都是delimited type)

对于文件名, 在sink data set下,创建一个参数来传递文件名,并在数据集的文件名部分使用它。

使用下面的表达式复制activity sink 的参数值

@concat('SaleData_',formatDateTime(utcnow(),'yyyyMMdd_HHmm'),'.csv')

请记住,这只是以不同的名称复制您的来源。我们需要添加一个deleteactivity来删除原来的源文件

如果您使用的是数据流,

确保在 Sink 的优化选项卡中选择单个分区,而不是使用当前分区。

然后,转到“设置”,选择“输出到单个文件”。在文件名下,提及带有时间戳的表达式。

concat('SaleData_',toString(currentUTC('yyyyMMdd_HHmm')),'.csv')