1

我创建了一个 ASA 作业,还创建了一个输入(eventhub)和 6 个输出(2 个 cosmos 和 4 个服务总线队列),查询如下所示。SA 允许编写超过 5 个查询,但在活动日志中给出错误。因此我也得到了水印延迟。

1: Select
             *
          INTO
             CosmosOutput
          FROM
             eventhubinput ;
2:       Select
             id,long,lat,timestamp
          INTO
             CosmosOutput1
          FROM
             eventhubinput ;
3:       Select
             *
          INTO
             SB1
          FROM
             eventhubinput 
           Where <condition>;

4:          Select
             *
          INTO
             SB2
          FROM
             eventhubinput 
           Where <condition>;
5:          Select
             *
          INTO
             SB3
          FROM
             eventhubinput 
           Where <condition1>;
6:          Select
             *
          INTO
             SB4
          FROM
             eventhubinput 
           Where <condition1>;

问题:

如何以有效的方式编写超过 5 个查询?提前致谢!

4

1 回答 1

1

由于您有多个查询,您可以尝试分配Stream Units Settings

流单元 (SU) 表示为执行流分析作业而分配的计算资源。SU 数量越多,为您的作业分配的 CPU 和内存资源就越多。为特定作业选择所需的 SU 数量取决于输入的分区配置和作业中定义的查询。

在此处输入图像描述

当然,SU 会产生更多成本。另一种解决方法,您可以设置azure 函数输出来替换一些查询。例如,我注意到您需要以完全相同的条件将数据推送到不同的服务总线输出。您可以将它们汇总到一个查询中,并将相同的数据作为参数推送到 Azure 函数中。在 Azure 函数内部,配置service bus 的多个输出绑定

于 2020-01-30T02:37:37.593 回答