gpt4 book ai didi

azure - 如何使用azure数据工厂从SQL表复制数据以为每个表数据创建子文件夹

转载 作者:行者123 更新时间:2023-12-03 06:23:32 24 4
gpt4 key购买 nike

假设我有 3 个表 Table1、Table2、Table3。我希望这些文件位于 Azure 数据湖存储中的 CSV 文件中。我已经完成了,但它们放在一个文件夹中。如何将它们复制到 3 个不同的文件夹中,例如 Table1、Table2、Table3

最佳答案

How to copy them in 3 different folders like Table1,Table2,Table3

使用以下方法来实现您的要求。

创建 SQL 数据库和 ADLS 的数据集,如下所示。

SQL 数据库数据集:

{
"name": "AzureSqlTable1",
"properties": {
"linkedServiceName": {
"referenceName": "AzureSqlDatabase1",
"type": "LinkedServiceReference"
},
"parameters": {
"table_name": {
"type": "string"
}
},
"annotations": [],
"type": "AzureSqlTable",
"schema": [],
"typeProperties": {
"schema": "dbo",
"table": {
"value": "@dataset().table_name",
"type": "Expression"
}
}
}
}

带有参数的 ADLS 数据集:

{
"name": "target_csv_files",
"properties": {
"linkedServiceName": {
"referenceName": "AzureDataLakeStorage1",
"type": "LinkedServiceReference"
},
"parameters": {
"folder_name": {
"type": "string"
},
"table_name": {
"type": "string"
}
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileName": {
"value": "@dataset().table_name",
"type": "Expression"
},
"folderPath": {
"value": "@dataset().folder_name",
"type": "Expression"
},
"fileSystem": "data"
},
"columnDelimiter": ",",
"escapeChar": "\\",
"firstRowAsHeader": true,
"quoteChar": "\""
},
"schema": []
}
}

然后使用 SELECT name FROM sys.Tables; 创建一个查找事件用于获取表列表的脚本。

enter image description here

查找将给出如下输出:

enter image description here

将此数组提供给 ForEach,并在 ForEach 内部使用复制事件。给出复制事件的源和接收器,如下所示,带有动态内容 @item().name@concat(item().name,'.csv') .

来源:

enter image description here

水槽:

enter image description here

结果:

enter image description here

关于azure - 如何使用azure数据工厂从SQL表复制数据以为每个表数据创建子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75723335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com