0
各JSON配列要素をU-SQLの1行に1つの要素ではなく、1行にカンマ区切り要素として表示するにはどうすればよいですか?例えば、JSONファイルはU-SQLのJSON配列要素を1行で表示
ある:
{
"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"
}
]
}
}
次のように配列C1、この断片を処理するためのコードである:
@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();
すべての結果配列要素は1行に1つずつ印刷されます。つまり、すべてのD1〜D7要素は別々の行にあります。私はD1からD7までの要素がJSONオブジェクトの一部であるので、同じ行の一部にしたいと思います。
ある:
1、2、3、4、5、6、7
どのようにこれを行うことができますか?