Arrays 流分析GetArrayElements作为字符串

Arrays 流分析GetArrayElements作为字符串,arrays,azure-stream-analytics,stream-analytics,Arrays,Azure Stream Analytics,Stream Analytics,我有一份流分析工作,从外部来源获取数据(我对数据的格式没有发言权)。我正在尝试将数据导入到我的数据池中,以JSON的形式存储。这很好,但我也希望在CSV中获得输出,这就是我遇到的问题 由于输入数据有一个数组作为列之一,在JSON中导入时,它会识别该数组并提供正确的数据,即将它们放在括号[A、B、C]中,但当我在CSV中使用该数组时,我会将该列表示为单词“array”。我想我会将它转换为XML,使用STUFF并将它们放在一行中,但它不喜欢在交叉应用程序中使用SELECT语句 是否有人使用流分析将数

我有一份流分析工作,从外部来源获取数据(我对数据的格式没有发言权)。我正在尝试将数据导入到我的数据池中,以JSON的形式存储。这很好,但我也希望在CSV中获得输出,这就是我遇到的问题

由于输入数据有一个数组作为列之一,在JSON中导入时,它会识别该数组并提供正确的数据,即将它们放在括号[A、B、C]中,但当我在CSV中使用该数组时,我会将该列表示为单词“array”。我想我会将它转换为XML,使用STUFF并将它们放在一行中,但它不喜欢在交叉应用程序中使用SELECT语句

是否有人使用流分析将数据导入到具有数组列的CSV中?如果是,您是如何导入数组值的

样本数据:

[
    {"GID":"10","UID":1,"SID":"5400.0","PG:["75aef","e5f8e"]}, 
    {"GID":"10","UID":2,"SID":"4400.0","PG:["75aef","e5f8e","6d793"]}
]
PG是我试图提取的列,因此输出CSV应该类似

GID|UID|SID|PG
10|1|5400.0|75aef,e5f8e
10|2|4400.0|75aef,e5f8e,6d793
这是我正在使用的查询

SELECT 
    D.GID ,
    D.UID ,
    D.SID ,
    A.ArrayValue
FROM 
    dummy AS D
    CROSS APPLY GetArrayElements(D.PG) AS A
正如你所能想象的,这给了我这种格式的结果

GID|UID|SID|PG
10|1|5400.0|75aef
10|1|5400.0|e5f8e
10|2|4400.0|75aef
10|2|4400.0|e5f8e
10|2|4400.0|6d793

正如Pete M所说,您可以尝试创建一个数组来将数组转换为字符串,然后可以在查询中调用这个用户定义的函数

JavaScript用户定义函数:

在查询中调用自定义项:

结果:


我相信您可以使用javascript udf(最近发布)实现这一点,但我自己还没有尝试过。值得一看。谢谢@PeteM,我听从了你的建议。:)这也是我最后做的。谢谢:)
function main(inputobj) {
    var outstring = inputobj.toString();
    return outstring;
}
SELECT
    TI.GID,TI.UID,TI.SID,udf.extractdatafromarray(TI.PG)
FROM
   [TEST-SA-DEMO-BLOB-Input] as TI