ADFDataflow如何从不同的数组中读取列和行,并生成csv文件?
创始人
2024-07-27 08:30:41
0

在 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”表达式,以反映您的实际数组名称。

相关内容

热门资讯

Android Studio ... 要解决Android Studio 4无法检测到Java代码,无法打开SDK管理器和设置的问题,可以...
安装tensorflow mo... 要安装tensorflow models object-detection软件包和pandas的每个...
安装了Laravelbackp... 检查是否创建了以下自定义文件并进行正确的配置config/backpack/base.phpconf...
安装了centos后会占用多少... 安装了CentOS后会占用多少内存取决于多个因素,例如安装的软件包、系统配置和运行的服务等。通常情况...
按照Laravel方式通过Pr... 在Laravel中,我们可以通过定义关系和使用查询构建器来选择模型。首先,我们需要定义Profile...
按照分类ID显示Django子... 在Django中,可以使用filter函数根据分类ID来筛选子类别。以下是一个示例代码:首先,假设你...
Android Studio ... 要给出包含代码示例的解决方法,我们可以使用Markdown语法来展示代码。下面是一个示例解决方案,其...
Android Retrofi... 问题描述:在使用Android Retrofit进行GET调用时,获取的响应为空,即使服务器返回了正...
Alexa技能在返回响应后出现... 在开发Alexa技能时,如果在返回响应后出现问题,可以按照以下步骤进行排查和解决。检查代码中的错误处...
Airflow Dag文件夹 ... 要忽略Airflow中的笔记本检查点,可以在DAG文件夹中使用以下代码示例:from airflow...