Azure 使用JSONOutputer将Avro文件转换为JSON

Azure 使用JSONOutputer将Avro文件转换为JSON,azure,azure-data-factory,azure-data-lake,u-sql,Azure,Azure Data Factory,Azure Data Lake,U Sql,我需要使用U-SQL从Avro中提取JSON文件。Avro文件包含一个JSON集合,需要从Avro中提取单个JSON。这里我已经编写了代码。 我使用jsonUpter()编写JSON OUTPUT @source TO "C:/Users/gutthil1/Desktop/ActivityTracker/Single_JSON/schemaType.json" USING new JsonOutputter(); 我得到的JSON如下所示 [ { "type": "CE",

我需要使用U-SQL从Avro中提取JSON文件。Avro文件包含一个JSON集合,需要从Avro中提取单个JSON。这里我已经编写了代码。 我使用jsonUpter()编写JSON

OUTPUT @source
TO "C:/Users/gutthil1/Desktop/ActivityTracker/Single_JSON/schemaType.json"
USING new JsonOutputter();
我得到的JSON如下所示

[
  {
    "type": "CE",
    "cnn": "11",
    "source": "{\r\n  \"vendorCd\": \"G\",\r\n  \"brandCd\": \"4\",\r\n  \"channelCd\": \"C\",\r\n  \"accessTypeCd\": \"I\"\r\n}",

  },
  {
    "type": "CE",
    "cnn": "9",
    "source": "{\r\n  \"vendorCd\": \"G\",\r\n  \"brandCd\": \"4\",\r\n  \"channelCd\": \"C\",\r\n  \"accessTypeCd\": \"I\"\r\n}",

  }
]
我期待JSON,如下所示

[
{  
   "type":"CE",
   "ccn":"11",
   "source":{  
      "vendorCd":"G",
      "brandCd":"4",
      "channelCd":"C",
      "accessTypeCd":"I"
   },
{  
   "type":"CE",
   "ccn":"9",
   "source":{  
      "vendorCd":"G",
      "brandCd":"4",
      "channelCd":"C",
      "accessTypeCd":"I"
   }
]

感谢您的帮助和支持。

您的
列的类型为
string
,因此作为字符串值而不是JSON对象内联。您目前有以下两个选项,这两个选项都可能需要您扩展JSONOutputter代码:

  • 添加一个选项,允许您指定哪些列应作为JSON片段而不是字符串内联
  • 添加一个选项,将SqlMap视为列而不是字符串的属性集