如何将 Azure 流分析中的“类字典”结构转换为带有 javascript UDF 的多维数组?

Posted

技术标签:

【中文标题】如何将 Azure 流分析中的“类字典”结构转换为带有 javascript UDF 的多维数组?【英文标题】:How to convert a 'dictionary-like' structure in Azure Stream Analytics to a multi dimensional array with a javascript UDF? 【发布时间】:2020-08-11 12:14:29 【问题描述】:

使用 Azure 流分析的CollectTop 聚合功能后,我得到了一个类似 json 的结构,看起来像字典词典。 我需要将此转换为一个多维数组,然后将其传递给 AzureML UDF。

我的问题主要是关于如何在 javascript-UDF 中解释这种结构,因为我对 Javascript 完全陌生。

这是一个示例记录(使用 CollectTop),但挑战是我的 javascript UDF 应该是什么样子?

[
    "rank":1,"value":"engineid":"engine001","tmp":-0.0019,"hum":-0.0002,"eventtime":4,
    "rank":2,"value":"engineid":"engine001","tmp":-0.0026,"hum":-0.0002,"eventtime":2,
    "rank":3,"value":"engineid":"engine001","tmp":0.0003,"hum":-0.0002,"eventtime":1
]

从上面的数据结构中,我很想生成以下数组。 (采用 tmp 和哼声场)

[[-0.0019, -0.0002], [-0.0026, -0.0002], [0.0003, -0.0002]]

欢迎任何帮助或见解。

这个问题与另外两个问题有关:

CollectTop is returning more rows than I would expect in Azure Stream Analytics Call Azure Stream Analytics UDF with multi-dimensional array of last 5 records, grouped by record

最好的问候

【问题讨论】:

你的多维数组是什么样的?你能告诉我们你期望的多维数组结构的样本吗? 您好@SteveZhao - 感谢您的反馈。我已经用所需的数组结果更新了我的问题。 【参考方案1】:

var input = [
        "rank":1,"value":"engineid":"engine001","tmp":-0.0019,"hum":-0.0002,"eventtime":4,
        "rank":2,"value":"engineid":"engine001","tmp":-0.0026,"hum":-0.0002,"eventtime":2,
        "rank":3,"value":"engineid":"engine001","tmp":0.0003,"hum":-0.0002,"eventtime":1
    ];
    
    console.log(getOutput(input));
    
    
    function getOutput(input)
        var output = [];
        for(var x in input)
            var array = [];
            array.push(input[x].value.tmp);
            array.push(input[x].value.hum);
            output.push(array);
        
        return output;
    

这是你需要的吗?

【讨论】:

先生,这正是我所需要的 ;)。谢谢你...

以上是关于如何将 Azure 流分析中的“类字典”结构转换为带有 javascript UDF 的多维数组?的主要内容,如果未能解决你的问题,请参考以下文章

Azure 流分析将行转换为列

Azure 流分析查询:将字符串转换为 DateTime

如何使用 azure 流分析将 cosmos db 中的值更新为输出?

Unix 时间在 Azure 流分析中转换为日期

Azure 流分析作业 - 转换查询 - ARM 模板中的正确格式

Azure 流分析:如何使用两个 Azure 机器学习函数