【问题标题】:Create JSON file from a query with FOR JSON clause result in ADF在 ADF 中使用 FOR JSON 子句结果从查询创建 JSON 文件
【发布时间】:2020-11-22 08:10:18
【问题描述】:

我需要从 Azure SQL 数据库创建一个 JSON 文件并将该文件存储在 Azure Blob 存储中。 在 ADF 中,我创建了一个简单的管道,其中包含一个 Copy Data 活动来实现此目的。 我使用带有 FOR JSON 子句的 t-sql 查询从数据库中获取数据。

SELECT * FROM stage.Employee FOR JSON AUTO, ROOT ('main_root')

这是我的来源:

这是一个水槽:

执行管道后,创建的文件如下所示

我想得到一个普通的 JSON 文件的结构

{
"main_root": [
    {
        "Employee_No": "1000",
        "Status": "Employee",
        "..." "...",
        "..."
    },
    {
        "Employee_No": "1000",
        "Status": "Employee",
        "..." "...",
        "..."
    },
    {
        "Employee_No": "1000",
        "Status": "Employee",
        "..." 
      "...",
        "..."

任何帮助我都会感激不尽。

【问题讨论】:

    标签: json sql-server azure azure-data-factory


    【解决方案1】:

    您正在从关系源构建层次结构,因此您需要在数据流中构建 R2H 逻辑以适应这种数据转换。

    将 SQL DB 表设置为源,然后在派生列中构建层次结构,其中包含用于层次结构的子列,并使用带有 collect() 函数的 Aggregate 将数据收集到数组中。

    【讨论】:

    • 感谢您的回复。这就是我所需要的。
    • 这可以通过从传入数据推断架构的方式来完成,而不是通过派生列手动构建它吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2020-07-12
    • 2021-06-10
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多