2017-07-12 32 views
2

我已創建了一個ASA的工作,也創造了一個輸入別名和一個輸出別名
like thisAzure流分析如何處理多個輸出表?

,我編輯這樣

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} 

不同領域將在那裏與不同類型和按我想存儲不同表格中的數據,所以我需要哪些變化以及哪些地方請指導我。感謝

+0

我尋找到確切的簡單的解決方案今天同樣的話題。我到目前爲止所能找到的所有數據都意味着你需要爲每個表創建一個輸出......這看起來很瘋狂,但如果你確實將目標作爲輸入的基礎,那麼你可以通過無效目標獲得數據... – Timbo

+0

嘿@Timbo看看我的回答 –

+1

@Timbo:在底層,它使用BCP來加載這些表。您可以通過在門戶中通過Query Performance Insight監控活動來進行驗證。一旦你看到這種情況發生,它更有意義爲什麼它會迫使你把每張表作爲一個單獨的輸出。如果由於可能的表鎖爭用而計劃將多個作業定位到同一個表,這也是一個考慮因素。 –

回答

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