【问题标题】:Azure Stream Analytics How to handle multiple output table?Azure 流分析如何处理多个输出表?
【发布时间】:2017-07-12 13:51:26
【问题描述】:

我创建了一个 ASA 作业,还创建了一个输入别名和一个输出别名
like this

我编辑了这样的查询部分

WITH 
[StreamData]
AS (
SELECT
    employee_id, 
    first_name,
    last_name,
    age,
    salary
FROM 
  [DeviceDataStream] 
WHERE
    [ObjectType] IS NULL -- Filter out device info and command responses
) 

SELECT
    employee_id, 
    first_name,
    last_name,
    age,
    salary
INTO
    [Telemetry]
FROM
    [StreamData]

我在 SQL 数据库中创建了表
like this

而我从 IOT 设备的输入是这样的

{"employee_id":4,"first_name":"Joseph","last_name":"Marshal","age":34,"salary":890000}

到目前为止,一切正常。

现在我想将我的输入 JSON 存储到基于 type 的不同表中,我的新输入 JSON 将是这样的

{"type":"emp","employee_id":4,"first_name":"Joseph","last_name":"Marshal","age":34,"salary":890000}

不同的字段会有不同的类型,并且根据我想将数据存储在不同的表中,所以我需要哪些更改以及在哪里请指导我。谢谢

【问题讨论】:

  • 我今天正在研究完全相同的主题。到目前为止,我所能找到的只是意味着您需要为每个表创建一个输出...这似乎很疯狂,但如果您确实将目标基于输入,那么您可能会收到无效目标的数据...
  • 嘿@Timbo 看看我的回答
  • @Timbo:在后台它使用 BCP 来加载这些表。您可以通过门户中的 Query Performance Insight 监控活动来进行验证。一旦你看到这种情况发生,为什么它会迫使你将每个表视为单独的输出就更有意义了。如果由于可能的表锁争用而计划让多个作业针对同一个表,这也是一个考虑因素。

标签: json azure-sql-database azure-stream-analytics


【解决方案1】:

嘿,我终于找到了简单的解决方案,我为每个输出表创建了一个输出

like this

我的查询是这样的

WITH 
    [StreamData]
AS (
   SELECT
    *
    FROM 
      [DeviceDataStream] 
    WHERE
       [ObjectType] IS NULL -- Filter out device info and command responses
) 

SELECT
   EventProcessedUtcTime,
    PartitionId,
    EventEnqueuedUtcTime,
    IoTHub,
    employee_id, 
    first_name,
    last_name,
    age,
    salary
INTO
    [Telemetry]
FROM
    [StreamData]
WHERE type = 'emp'   --Table 1

SELECT
    EventProcessedUtcTime,
    PartitionId,
    EventEnqueuedUtcTime,
    PersonID, 
    FirstName,
    LastName,
    City,
    height
INTO
    [TelemetryP]
FROM
    [StreamData]
WHERE type = 'prsn'  --Table 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    相关资源
    最近更新 更多