在 ADF Dataflow 中,您可以使用“Select”转换或“Filter”转换来读取单个列或行。但是,如果您需要从不同的数组中读取列和行并生成 csv 文件,则需要使用“Join”转换。下面是一个示例代码,展示了如何使用“Join”转换来执行这个任务。
假设您有两个数组:一个包含列名,另一个包含数据。可以使用以下代码将它们组合成一个单独的数据流,然后将其写入 csv 文件。
{
"name": "Join Data",
"type": "DataFlow",
"dependsOn": [],
"index": 0,
"typeProperties": {
"source": {
"type": "JsonSource",
"source": {
"data": [
{
"Column1": "Value1",
"Column2": "Value2",
"Column3": "Value3"
},
{
"Column1": "Value4",
"Column2": "Value5",
"Column3": "Value6"
}
]
},
"style": "multiLine"
},
"transformations": [
{
"name": "Join",
"type": "Join",
"dependsOn": [],
"policy": {
"timeout": "1.00:00:00",
"retry": 3,
"retryIntervalInSeconds": 5,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"joinType": "Inner",
"leftInputs": [
{
"referenceName": "Array1",
"type": "Expression"
}
],
"joinCondition": {
"leftExpression": "@concat('Column', $left.columnIndex + 1)",
"rightExpression": "@concat('Column', $right.columnIndex + 1)"
},
"rightInputs": [
{
"referenceName": "Array2",
"type": "Expression"
}
],
"output": {
"referenceName": "Output",
"type": "DatasetReference"
}
}
},
{
"name": "Sink",
"type": "JsonSink",
"dependsOn": [
{
"activity": "Join",
"dependencyConditions": [
"Success"
]
}
],
"policy": {
"timeout": "1.00:00:00",
"retry": 3,
"retryIntervalInSeconds": 5,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"fileName": "output.csv",
"writeSettings": {
"fileExtension": "jsonl",
"columnDelimiter": ",",
"rowDelimiter": "\n",
"encodingName": "UTF-8"
}
}
}
]
},
"schema": []
}
注意:在此示例中,可以使用“JsonSource”来模拟数据读取。如果您有分开的数组,请适当更改“typeProperties.source.source.data”属性中的数据。您还需要更改“leftInputs”和“rightInputs”属性中的“Array1”和“Array2”表达式,以反映您的实际数组名称。
上一篇:ADF弹出窗在筛选数据时消失