我从Log Analytics API中获取一个生成的JSON文件到ADF中,我想将其转换为CSV文件。我的Json文件有这样的结构:
{
"tables": [
{
"name": "PrimaryResult",
"columns": [
{
"name": "PipelineName",
"type": "string"
},
{
"name": "Status",
"type": "string"
},
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "_ResourceId",
"type": "string"
},
{
"name": "Type",
"type": "string"
}
],
"rows": [
[
"Get_Tables",
"Succeeded",
"2023-09-04T08:15:48.77315Z",
"/subscriptions/144612ca-37be-4643-9c80-5706a350bdb2/resourcegroups"
],
[
"LogAnaytics",
"Succeeded",
"2023-09-04T08:15:55.073672Z",
"/subscriptions/providers/microsoft.datafactory/factories",
"ADFPipelineRun"
]
]
}
]
}
我试着扁平化,首先是表比列比行,像这样:
但它没有工作。我想在csv中得到这样的结果:
1条答案
按热度按时间hwazgwia1#
为了实现你的要求,按照下面的步骤,我把你的样本Json和转换它:
数据预览:
对于列
首先使用flatten活动将列展平。
数据预览:
添加替代列
数据预览:
然后使用透视转换将列转换为行。
无需设置group by
数据预览:
对于行
然后将行展平。
数据预览:
使用派生列变换展开嵌套数组。
数据预览:
然后使用选择转换和删除数组列。
数据预览:
现在使用Union转换合并行和列
数据预览:
现在,使用sink转换将数据加载到CSV
输出: