{ "name": "loop through dependency", "properties": { "activities": [ { "name": "ForEachDependency", "type": "ForEach", "dependsOn": [ { "activity": "Copy to staging", "dependencyConditions": [ "Succeeded" ] } ], "userProperties": [], "typeProperties": { "items": { "value": "@pipeline().parameters.dependencies", "type": "Expression" }, "isSequential": true, "activities": [ { "name": "Extract PK Columns", "type": "ExecuteDataFlow", "dependsOn": [], "policy": { "timeout": "1.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "dataflow": { "referenceName": "Extract PK Columns", "type": "DataFlowReference", "parameters": { "mainTable": { "value": "'@{pipeline().parameters.mainTable}'", "type": "Expression" }, "dependency": { "value": "'@{item()}'", "type": "Expression" } } }, "compute": { "coreCount": 8, "computeType": "General" }, "traceLevel": "None", "cacheSinks": { "firstRowOnly": true } } }, { "name": "Set variable1", "type": "SetVariable", "dependsOn": [ { "activity": "Extract PK Columns", "dependencyConditions": [ "Succeeded" ] } ], "userProperties": [], "typeProperties": { "variableName": "joinFields", "value": { "value": "@activity('Extract PK Columns').output.runStatus.output.sinkJoinColumns.value[0].PKColumns", "type": "Expression" } } }, { "name": "Join tables", "type": "ExecuteDataFlow", "dependsOn": [ { "activity": "Set variable1", "dependencyConditions": [ "Succeeded" ] } ], "policy": { "timeout": "1.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "dataflow": { "referenceName": "Join tables", "type": "DataFlowReference", "parameters": { "joinField": { "value": "'@{variables('joinFields')}'", "type": "Expression" }, "mainTable": { "value": "'@{pipeline().parameters.mainTable}'", "type": "Expression" }, "dependency": { "value": "'@{item()}'", "type": "Expression" } } }, "compute": { "coreCount": 8, "computeType": "General" }, "traceLevel": "None", "cacheSinks": { "firstRowOnly": true } } } ] } }, { "name": "Copy to staging", "type": "ExecuteDataFlow", "dependsOn": [], "policy": { "timeout": "1.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "dataflow": { "referenceName": "Copy from raw to staging", "type": "DataFlowReference", "parameters": { "fileToMove": { "value": "'@{pipeline().parameters.mainTable}'", "type": "Expression" } } }, "compute": { "coreCount": 8, "computeType": "General" }, "traceLevel": "None", "cacheSinks": { "firstRowOnly": true } } }, { "name": "Create parquet file", "type": "ExecuteDataFlow", "dependsOn": [ { "activity": "ForEachDependency", "dependencyConditions": [ "Succeeded" ] } ], "policy": { "timeout": "1.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "dataflow": { "referenceName": "Move from staging to base", "type": "DataFlowReference", "parameters": { "fileToMove": { "value": "'@{pipeline().parameters.mainTable}'", "type": "Expression" } } }, "compute": { "coreCount": 8, "computeType": "General" }, "traceLevel": "Fine" } } ], "parameters": { "mainTable": { "type": "string" }, "dependencies": { "type": "array" } }, "variables": { "joinFields": { "type": "String" } }, "annotations": [], "lastPublishTime": "2021-06-28T15:33:53Z" }, "type": "Microsoft.DataFactory/factories/pipelines" }