azure-stream-analytics

Json parsing- array value - Azure stream Analytics


I am trying to explode the array value. But I am getting error `'Apply' can only be used with functions 'getarrayelements, getrecordproperties'.

select a.[id],row1.arrayvalue from input a

CROSS APPLY

[row] AS row1

Input data is

[

  {

    "id": "ada1",

    "row": [1,2,3]

  },

  {

    "id": "ada2",

    "row": [5,4,7,9]

  }

]

output expected:


id,row

ada1,1

ada1,2

ada1,3

ada2,5

ada2,4

ada2,7

ada2,9

select a.[id],row1.arrayvalue from input a

CROSS APPLY

[row] AS row1

Solution

  • Use the below code to achieve your requirement.

    select rakeshinput.id,row.ArrayValue as row1 from rakeshinput CROSS  APPLY  GetArrayElements(rakeshinput.row)  as  row;
    

    Output:

    enter image description here

    Reference:

    https://learn.microsoft.com/en-us/azure/stream-analytics/stream-analytics-parsing-json#convert-array-elements-into-separate-events