在 Azure 数据工厂中将 JSON 转换为 CSV

Convert JSON to CSV in Azure Data Factory

我在将 JSON 转换为 CSV 时遇到问题。 JSON 看起来像这样:

{
  "Key1": "Value1",
  "Key2": "Value3",
  "Key3": "Value2",
  ...
}

我希望 CSV 格式如下:

Key, Value
Key1, Value1
Key2, Value2
Key3, Value3
...

如您所见,键和值存储在列中。是否可以在 Azure 数据工厂的数据流中执行此操作?

您可以在数据流中使用扁平化转换。 请查看下面的 Microsoft 文档页面。

https://docs.microsoft.com/en-us/azure/data-factory/data-flow-flatten

您可以使用 Azure 数据工厂实现它 数据流 Unpivot 转换。

请看下面的repro详情。

输入:

数据流:

  1. 添加 Source 并将其连接到 JSON 输入文件。在JSON设置下的源选项中,select文档形式为单文档.

源数据预览:

  1. 在源后添加 derived column 以添加具有 常量 值的 dummy 列,以便稍后在 Unpivot 转换中使用它。

派生列数据预览:

  1. 在派生列后添加Unpivot转换,将列转换为行。在 Unpivot 设置下

    a) 取消分组依据: Select 虚拟列。

    b) 逆透视键: 为逆透视列命名(例如:键),键入“字符串”。

    c) 非透视列: 为非透视列中的数据提供列名。

逆透视数据预览:

  1. 在 Unpivot 之后添加 Select 转换以 删除 dummy 列和 select 仅需要的列到输出。

Select 数据预览:

  1. 在末尾添加sink转换并连接到sink delimited dataset。在设置中,如果您select文件名选项为输出到单个文件,您可以提供接收器文件名。

接收器数据预览:

输出: