Как отображать каждый элемент массива JSON как элемент, разделенный запятой, в одной строке, а не один элемент на строку, в U-SQL?Показать элементы массива JSON как одну строку в U-SQL
Например, файл в формате JSON является:
{
"A": {
"A1": "1",
"A2": 0
},
"B": {
"B1": "1",
"B2": 0
},
"C": {
"C1": [
{
"D1": "1"
},
{
"D2": "2"
},
{
"D3": "3"
},
{
"D4": "4"
},
{
"D5": "5"
},
{
"D6": "6"
},
{
"D7": "7"
}
]
}
}
код для обработки этого фрагмента для массива С1 выглядит следующим образом:
@sql = SELECT
Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C)["C1"] AS C1_array
FROM @json;
OUTPUT @sql TO "test.txt" USING Outputters.Csv(quoting: false);
@sql2 = SELECT
Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C1_array) AS C1
FROM @sql
CROSS APPLY
EXPLODE (Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C1_array).Values) AS D(C1);
@result =
SELECT C1["D1"]AS D1,
C1["D2"] AS D2,
C1["D3"]AS D3,
C1["D4"]AS D4,
C1["D5"]AS D5,
C1["D6"]AS D6,
C1["D7"]AS D7,
FROM @sql2;
OUTPUT @result TO "output.txt" USING Outputters.Text();
в результате чего все элементы массива распечатываются как одна строка, т. е. все элементы D1-D7 находятся на отдельных строках. Я хочу, чтобы элементы D1-D7 были частью одной и той же строки, поскольку она является частью объекта JSON.
То есть:
1, 2, 3, 4, 5, 6, 7
Как это может быть сделано?