2016-10-14 58 views
0

我得到了我的分析數據工作的問題。我從物聯網中心拉取事件,並根據他們的自定義時間戳將它們分組在時間窗口中;我已經寫了一個查詢來正確執行此操作。但問題是它只是沒有寫入任何東西到我的輸出表(作爲我的存儲帳戶上的NoSQL表)。的分析數據查詢工作,但沒有輸出表

查詢在查詢編輯器(使用樣本輸入文件進行測試時)中運行時沒有問題,並生成正確的輸出,但運行'for real'時,它不輸出任何內容(輸出表保持爲空)。我甚至嘗試重命名錶並輸出到blob存儲,但沒有骰子。這裏的查詢:

SELECT 
    'general' AS partitionKey, 
    MIN(ID_frame) AS rowKey, 
    DATEADD(second, 1, DATEADD(hour, -3, System.TimeStamp)) AS window_start, 
    System.TimeStamp AS window_end, 
    COUNT(ID_frame) AS device_count 
INTO 
    [IoT-Hub-output-table] 
FROM 
    [IoT-Hub-input] TIMESTAMP BY custom_timestamp 
GROUP BY TumblingWindow(Duration(hour, 3), Offset(second, -1)) 

有趣的部分是,如果我省略了我的查詢中的任何窗口,那麼表輸出工作得很好。 我幾天前一直在對着牆壁敲打我的頭,所以我認爲我已經嘗試了大部分顯而易見的事情。

回答

1

原來查詢確實輸出到我的表中,但有一定的延遲,我沒​​有想到;我最多等了20-30分鐘。而第一次插入會在半小時後開始。因此,我在任何輸出生成之前取消了Google Analytics作業,並假設它不會輸出任何內容。

我發現我AFER指出,「有時」(當作業爲長期運行的足夠的)似乎有一些輸出這是這種情況。在那些輸出記錄我發現我的定製時間戳字段和普通時間戳字段(該引擎使用記得當實體被最後一次更新)

1

當你正在使用的3小時TumblingWindow,這意味着你會得到一個輸出每3小時其中包含該期間內所有事件的集合。

那麼你已經等待3小時,第一個輸出中產生?

我會嘗試,並設置窗口小,再試一次,看看是否輸出正常工作。

+0

那麼爲什麼我在測試時獲得即時結果之間的大延遲它在查詢編輯器?順便說一句,最初我用小得多的窗口測試這個查詢(比如5-30秒),然而,就像使用更大的窗口版本一樣,它在查詢測試器中給出了正確的輸出,但是一旦它被真正運行 – Giorgi

相關問題